Persist error d-bus objects

Use Cereal to implement serialization and de-serialization of
properties of error d-bus objects.

Serialize and persist error d-bus objects as they are put on the bus.
De-serialize and restore them (if persistent ones exist) when
phosphor-log-manager starts up.

Change-Id: I1f5df1abbe74bfdb86e3e82a78ff7115e90e2112
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
diff --git a/Makefile.am b/Makefile.am
index 6ca02d3..29f18d6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,7 +36,8 @@
 	elog_entry.cpp \
 	org.openbmc.Associations.cpp \
 	elog-process-metadata.cpp \
-	elog_meta.cpp
+	elog_meta.cpp \
+	elog_serialize.cpp
 
 # Be sure to build needed files before compiling
 BUILT_SOURCES = \
@@ -64,7 +65,8 @@
 phosphor_log_manager_LDFLAGS = \
 		$(SYSTEMD_LIBS) \
 		$(SDBUSPLUS_LIBS) \
-		$(PHOSPHOR_DBUS_INTERFACES_LIBS)
+		$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
+		-lstdc++fs
 phosphor_log_manager_CXXFLAGS = \
 		$(SYSTEMD_CFLAGS) \
 		$(SDBUSPLUS_CFLAGS) \