PEL: Const accessors for Private/UserHeader

Change the combined non-const accessor/setter functions for the
PrivateHeader and UserHeader fields to the standard const accessors, and
have separate setters for the fields that need to be modified.

In addition, make the 'get PrivateHeader' and 'get UserHeader' functions
on the PEL class return a const reference.

This allows const enforcement on the PEL class, for things like:

void func(const PEL& pel)
{
    auto id = pel.privateHeader().id();
}

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I840170e72b41e9e2465f716617500269244de6d9
diff --git a/extensions/openpower-pels/pel.hpp b/extensions/openpower-pels/pel.hpp
index f63cfdd..3d1318f 100644
--- a/extensions/openpower-pels/pel.hpp
+++ b/extensions/openpower-pels/pel.hpp
@@ -152,21 +152,21 @@
     /**
      * @brief Gives access to the Private Header section class
      *
-     * @return std::unique_ptr<PrivateHeader>& the private header
+     * @return const PrivateHeader& - the private header
      */
-    std::unique_ptr<PrivateHeader>& privateHeader()
+    const PrivateHeader& privateHeader() const
     {
-        return _ph;
+        return *_ph;
     }
 
     /**
      * @brief Gives access to the User Header section class
      *
-     * @return std::unique_ptr<UserHeader>& the user header
+     * @return const UserHeader& - the user header
      */
-    std::unique_ptr<UserHeader>& userHeader()
+    const UserHeader& userHeader() const
     {
-        return _uh;
+        return *_uh;
     }
 
     /**