psu-ng: Call setPowerSupplyError method for fault

If/when a fault occurs, and the PSU manager is going to create an error,
also call the setPowerSupplyError D-Bus method to let the power
control/sequencer app known that a power supply error has occurred. If
an associated pgood fault also occurs, the power control/sequencer app
can make a determination of whether it is due to the power supply error.

Call setPowerSupplyError method with null string during clearing of
faults.

Tested:
    Simulated power supply faults followed by pgood fault.
        Verified power supply fault used for source of pgood fault.
    After PSU & pgood fault, poweron, try just pgood fault.
        Verified pgood fault logged.
    Real Rainier 2S2U normally fault free operation during poweron.
    Real Rainier 2S2U VIN_UV fault works as expected.
    Real Rainier 2S2U AC loss fault.
    Real Rainier 2S2U injected pgood fault (no PSU error).

Change-Id: Ia5c7c4fdcbd3b86c5184cb5bc6d93a9628747f18
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
diff --git a/phosphor-power-supply/psu_manager.hpp b/phosphor-power-supply/psu_manager.hpp
index 6314438..2754eab 100644
--- a/phosphor-power-supply/psu_manager.hpp
+++ b/phosphor-power-supply/psu_manager.hpp
@@ -140,6 +140,7 @@
      */
     void clearFaults()
     {
+        setPowerSupplyError("");
         for (auto& psu : psus)
         {
             psu->clearFaults();
@@ -168,6 +169,13 @@
         validationTimer;
 
     /**
+     * Let power control/sequencer application know of PSU error(s).
+     *
+     * @param[in] psuErrorString - string for power supply error
+     */
+    void setPowerSupplyError(const std::string& psuErrorString);
+
+    /**
      * Create an error
      *
      * @param[in] faultName - 'name' message for the BMC error log entry