Add item group monitoring data type framework

Include supported data types for item groups:
--Start event trigger
--Signal event trigger
--A countAtOrAbove condition
--A log_error action

Change-Id: I1ae5ba60e4d9c06155885d52d98a44b31fd73207
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/src/functor.hpp b/src/functor.hpp
new file mode 100644
index 0000000..9353763
--- /dev/null
+++ b/src/functor.hpp
@@ -0,0 +1,28 @@
+#pragma once
+
+#include "data_types.hpp"
+
+namespace phosphor
+{
+namespace dbus
+{
+namespace monitoring
+{
+
+class Monitor;
+
+template <typename T>
+auto make_condition(T&& condition)
+{
+    return Condition(std::forward<T>(condition));
+}
+
+template <typename T>
+auto make_action(T&& action)
+{
+    return Action(std::forward<T>(action));
+}
+
+} // namespace monitoring
+} // namespace dbus
+} // namespace phosphor