Clean up error cases on boot or when app restarted

- Detect when no or duplicate masters are found (force reset)
- Prevent sending commands to OCC when OCC is disabled
- Detect OCC state changes to SAFE (after 60 sec force reset)

Tested on Everest and Rainier hardware

Signed-off-by: Chris Cain <cjcain@us.ibm.com>
Change-Id: I490f182405e11da207b42a0607a532566479bfd9
diff --git a/occ_presence.cpp b/occ_presence.cpp
index ab9b322..e06ecb8 100644
--- a/occ_presence.cpp
+++ b/occ_presence.cpp
@@ -46,9 +46,9 @@
     auto occsPresent = std::stoi(data, nullptr, 0);
     if (manager.getNumOCCs() != occsPresent)
     {
-        log<level::INFO>("OCC presence mismatch",
-                         entry("BMC_OCCS=%d", manager.getNumOCCs()),
-                         entry("OCC_OCCS=%d", occsPresent));
+        log<level::ERR>(fmt::format("OCC presence mismatch - BMC: {}, OCC: {}",
+                                    manager.getNumOCCs(), occsPresent)
+                            .c_str());
         if (callBack)
         {
             callBack(true);