Log a PEL for communication, presence mismatch, and safe state errors

Add code to log a PEL in various error scenarios. Refactor some of the
error handling to get the return code out of the driver.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: Ifd91cfc063718e484ec8886df8357d115c6b41e3
diff --git a/occ_manager.cpp b/occ_manager.cpp
index 88b0d26..1efb1e5 100644
--- a/occ_manager.cpp
+++ b/occ_manager.cpp
@@ -1288,7 +1288,7 @@
                         masterInstance, instance)
                         .c_str());
                 // request reset
-                obj->deviceError();
+                obj->deviceError(Error::Descriptor(PRESENCE_ERROR_PATH));
             }
         }
     }
@@ -1300,7 +1300,8 @@
                         statusObjects.size())
                 .c_str());
         // request reset
-        statusObjects.front()->deviceError();
+        statusObjects.front()->deviceError(
+            Error::Descriptor(PRESENCE_ERROR_PATH));
     }
     else
     {