PEL: Modify Repo::updatePEL behavior

The Repository class's updatePEL function takes a PEL and then
calls a passed in function to update it.

Change the behavior slightly so the callback returns a bool - true if
the PEL was actually updated, and false else.  That way the code knows
if the PEL needs to be written back out or not.

There is also a minor change to refresh the PEL attributes map for the
PEL inside the updatePEL function so it doesn't need to be done outside
of it.

This is all to support upcoming functionality where an updatePEL call
won't know if the PEL needs to be updated until the PEL fields can be
checked.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ic1eabd2fcd8dfc7f559be24142b3e147d4b65062
diff --git a/extensions/openpower-pels/repository.hpp b/extensions/openpower-pels/repository.hpp
index 07a499d..e1c565e 100644
--- a/extensions/openpower-pels/repository.hpp
+++ b/extensions/openpower-pels/repository.hpp
@@ -445,13 +445,14 @@
     void archivePEL(const PEL& pel);
 
   private:
-    using PELUpdateFunc = std::function<void(PEL&)>;
+    using PELUpdateFunc = std::function<bool(PEL&)>;
 
     /**
      * @brief Lets a function modify a PEL and saves the results
      *
-     * Runs updateFunc (a void(PEL&) function) on the PEL data
-     * on the file specified, and writes the results back to the file.
+     * Runs updateFunc (a bool(PEL&) function) on the PEL data
+     * on the file specified, and writes the results back to the file
+     * if the function returned true.
      *
      * @param[in] path - The file path to use
      * @param[in] updateFunc - The function to run to update the PEL.