Add time Manager to handle property changes callback

1. Implement time::Manager who registers property change signal for time
mode and owner;
2. Add PropertyChangeListner interface to handle the callback;
3. Make EpochBase to implement the interface.

Change-Id: I185580ae37353e1ed82a47e4905fb22e269ac09d
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/property_change_listener.hpp b/property_change_listener.hpp
new file mode 100644
index 0000000..de23f47
--- /dev/null
+++ b/property_change_listener.hpp
@@ -0,0 +1,23 @@
+#pragma once
+
+#include "types.hpp"
+
+namespace phosphor
+{
+namespace time
+{
+
+class PropertyChangeListner
+{
+    public:
+        virtual ~PropertyChangeListner() {}
+
+        /** @brief Notified on time mode is changed */
+        virtual void onModeChanged(Mode mode) = 0;
+
+        /** @brief Notified on time owner is changed */
+        virtual void onOwnerChanged(Owner owner) = 0;
+};
+
+}
+}