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/test/openpower-pels/pel_test.cpp b/test/openpower-pels/pel_test.cpp
index 6494c52..c83b54f 100644
--- a/test/openpower-pels/pel_test.cpp
+++ b/test/openpower-pels/pel_test.cpp
@@ -26,8 +26,8 @@
     EXPECT_TRUE(pel->valid());
     EXPECT_EQ(pel->id(), 0x80818283);
     EXPECT_EQ(pel->plid(), 0x50515253);
-    EXPECT_EQ(pel->userHeader()->subsystem(), 0x10);
-    EXPECT_EQ(pel->userHeader()->actionFlags(), 0x80C0);
+    EXPECT_EQ(pel->userHeader().subsystem(), 0x10);
+    EXPECT_EQ(pel->userHeader().actionFlags(), 0x80C0);
 
     // Test that data in == data out
     auto flattenedData = pel->data();
@@ -86,8 +86,8 @@
 
     auto pel = std::make_unique<PEL>(data);
 
-    EXPECT_TRUE(pel->privateHeader()->valid());
-    EXPECT_FALSE(pel->userHeader()->valid());
+    EXPECT_TRUE(pel->privateHeader().valid());
+    EXPECT_FALSE(pel->userHeader().valid());
     EXPECT_FALSE(pel->valid());
 
     // Now corrupt the private header
@@ -95,8 +95,8 @@
     data.at(0) = 0;
     pel = std::make_unique<PEL>(data);
 
-    EXPECT_FALSE(pel->privateHeader()->valid());
-    EXPECT_TRUE(pel->userHeader()->valid());
+    EXPECT_FALSE(pel->privateHeader().valid());
+    EXPECT_TRUE(pel->userHeader().valid());
     EXPECT_FALSE(pel->valid());
 }
 
@@ -105,8 +105,8 @@
     std::vector<uint8_t> data;
     auto pel = std::make_unique<PEL>(data);
 
-    EXPECT_FALSE(pel->privateHeader()->valid());
-    EXPECT_FALSE(pel->userHeader()->valid());
+    EXPECT_FALSE(pel->privateHeader().valid());
+    EXPECT_FALSE(pel->userHeader().valid());
     EXPECT_FALSE(pel->valid());
 }
 
@@ -128,8 +128,8 @@
             dataIface};
 
     EXPECT_TRUE(pel.valid());
-    EXPECT_EQ(pel.privateHeader()->obmcLogID(), 42);
-    EXPECT_EQ(pel.userHeader()->severity(), 0x40);
+    EXPECT_EQ(pel.privateHeader().obmcLogID(), 42);
+    EXPECT_EQ(pel.userHeader().severity(), 0x40);
 
     EXPECT_EQ(pel.primarySRC().value()->asciiString(),
               "BD051234                        ");
@@ -259,4 +259,4 @@
     EXPECT_EQ(newJSON["KEY1"], "VALUE1");
     EXPECT_EQ(newJSON["KEY2"], "VALUE2");
     EXPECT_EQ(newJSON["KEY3"], "VALUE3");
-}
\ No newline at end of file
+}