add health_metric_collection implementation

Add the interface and implementation for health_metric_collection which
encapsulates various health_metrics.
This change is in relation to following design and D-Bus interface
update -
https://gerrit.openbmc.org/c/openbmc/docs/+/64917
https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/64914

Add test_health_metric_collection gtest for unit testing.

Change-Id: Ia0b9fbc6bec4850735c7eb74dcd5c40fc47c568c
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
diff --git a/test/meson.build b/test/meson.build
index f240bc0..c4f8993 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -54,3 +54,23 @@
         include_directories: '../',
     )
 )
+
+test(
+    'test_health_metric_collection',
+    executable(
+        'test_health_metric_collection',
+        'test_health_metric_collection.cpp',
+        '../health_metric_collection.cpp',
+        '../health_metric.cpp',
+        '../health_metric_config.cpp',
+        '../health_utils.cpp',
+        dependencies: [
+            gtest_dep,
+            gmock_dep,
+            phosphor_logging_dep,
+            phosphor_dbus_interfaces_dep,
+            sdbusplus_dep
+        ],
+        include_directories: '../',
+    )
+)