PEL: Add repository to save PELs

Create the Repository class that can save PELs in (and later retrieve
them from) the filesystem.  It provides an add() method that can add
a PEL object to the repository.

Now, when the Manager class sees an OpenBMC event log created with the
RAWPEL metadata in the AdditionalData property that points at a file
that contains a PEL, it can save that PEL.  Before the PEL is saved, the
log ID and commit timestamp fields in the PEL will be updated - the log
ID to a unique value, and the timestamp to the current time.

Change-Id: I8dbaddf0f155bcb6d40b933294ada83feb75ce53
diff --git a/test/openpower-pels/Makefile.include b/test/openpower-pels/Makefile.include
index 052aa2a..48e1872 100644
--- a/test/openpower-pels/Makefile.include
+++ b/test/openpower-pels/Makefile.include
@@ -5,7 +5,9 @@
 	bcd_time_test \
 	log_id_test \
 	pel_test \
+	pel_manager_test \
 	private_header_test \
+	repository_test \
 	section_header_test \
 	stream_test \
 	user_header_test
@@ -80,3 +82,24 @@
 	$(test_ldadd) \
 	$(pel_objects)
 pel_test_LDFLAGS = $(test_ldflags)
+
+repository_test_SOURCES = \
+	%reldir%/repository_test.cpp %reldir%/paths.cpp %reldir%/pel_utils.cpp
+repository_test_CPPFLAGS = $(test_cppflags)
+repository_test_CXXFLAGS = $(test_cxxflags)
+repository_test_LDADD = \
+	$(test_ldadd) \
+	$(pel_objects) \
+	$(top_builddir)/extensions/openpower-pels/repository.o
+repository_test_LDFLAGS = $(test_ldflags)
+
+pel_manager_test_SOURCES = \
+	%reldir%/pel_manager_test.cpp %reldir%/paths.cpp %reldir%/pel_utils.cpp
+pel_manager_test_CPPFLAGS = $(test_cppflags)
+pel_manager_test_CXXFLAGS = $(test_cxxflags)
+pel_manager_test_LDADD = \
+	$(test_ldadd) \
+	$(pel_objects) \
+	$(top_builddir)/extensions/openpower-pels/manager.o \
+	$(top_builddir)/extensions/openpower-pels/repository.o
+pel_manager_test_LDFLAGS = $(test_ldflags)
\ No newline at end of file