Implement Report persistency

Now Report properties are stored in non-volatile memory. It allows
to restore Report after system restart. Persistency of a report is
controlled by Persistency property in Report interface.

Tested:
 - Passed unit tests
 - Verified that report is stored in /var/lib/telemetry dir
 - Verified that report is restored from storage after telemetry
   service start

Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
Change-Id: Iccfe21603eecffc4e174a4403f699b03de320db9
diff --git a/src/telemetry.hpp b/src/telemetry.hpp
index bfcc99a..4a6a6b0 100644
--- a/src/telemetry.hpp
+++ b/src/telemetry.hpp
@@ -1,5 +1,6 @@
 #pragma once
 
+#include "persistent_json_storage.hpp"
 #include "report_factory.hpp"
 #include "report_manager.hpp"
 
@@ -13,9 +14,11 @@
   public:
     Telemetry(std::shared_ptr<sdbusplus::asio::connection> bus) :
         objServer(std::make_shared<sdbusplus::asio::object_server>(bus)),
-        reportManager(
-            std::make_unique<ReportFactory>(bus->get_io_context(), objServer),
-            objServer)
+        reportManager(std::make_unique<ReportFactory>(bus, objServer),
+                      std::make_unique<PersistentJsonStorage>(
+                          interfaces::JsonStorage::DirectoryPath(
+                              "/var/lib/telemetry/Reports")),
+                      objServer)
     {}
 
   private: