PEL: Add class to wrap AdditionalData

The AdditionalData property on the xyz.openbmc_project.Logging.Entry
interface is a vector of strings of the form:  "KEY=VALUE".  The
PEL processing code will be interested in those keys and values, and
this class adds a way to get at those values based on a key without
having to do string parsing each time.  It returns an
std::optional<std::string> value, and if the key isn't found, then the
std::optional value will be empty.

For Example:
    AdditionalData ad{additionalDataPropertyValue};

    // Get the value for the FOO key
    std::optional<std::string> val = ad.getValue("FOO");

    if (val)
        std::cout << (*val).size();

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I6ba458840278784b1cc6a0ed88a7fece8794df7d
diff --git a/test/Makefile.am b/test/Makefile.am
index a95677d..6499764 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -110,3 +110,7 @@
 
 # TODO Remove once the test-case failure is resolved openbmc/phosphor-logging#11
 XFAIL_TESTS = elog_errorwrap_test
+
+if ENABLE_PEL_EXTENSION
+include openpower-pels/Makefile.include
+endif