dbus-sdr: Initial Dynamic Sensor Stack

Migrate intel-ipmi-oem dynamic sensor stack into
phosphor-host-ipmid for more general use.

The files are copied from
https://gerrit.openbmc-project.xyz/c/openbmc/intel-ipmi-oem/+/39743

https://gerrit.openbmc-project.xyz/plugins/gitiles/openbmc/intel-ipmi-oem/+/b910987a7d832e38e9342f0946aeb555a48f9cb0

Created `libdynamiccmds` to enable dynamic sensor stack.

Minor changes in the migration include:

1, Removing the use of `commandutils.hpp` in all files since it is only used
for
```
static constexpr bool debug = false;
```
It is added to `sdrutils.hpp` instead.

2, Update lastWriteAddr to size_t to match the vector.size() type
during comparison.

3, Renamed the sensorcommand unit test to sensorcommands_unitest.cpp

4, Removed unused variables.
  - sensorcommands
```
constexpr uint8_t thresholdMask = 0xFF;
```
  - sensorcommands_unitest
```
double yError = std::abs(y - yRoundtrip);
```
5, Removed Intel Specific Changes
  - Redfish logs
  - node manager/ME
  - BIOS to SEL event
6, Removed externing a global variable for sensorTree.
  - Replaced it with a method that returns a singleton
  - auto& sensorTree = getSensorTree(); for access
7, Replaced intel_oem namespace with dynamic_sensors

8, Removed types.hpp and use `ipmid/types.hpp` directly
  - Updated the types to match ipmid/types
  - Added Association and std::vector<Association>> under Value.

9, Add cpp files for sdrutils and sensorutils.

10, link libipmid as it is required for getManagedObjects needed
    by sensorcommands.cpp

Signed-off-by: Willy Tu <wltu@google.com>
Change-Id: If944620c895ecf4c9f4c3efe72479f4de276f4fb
Signed-off-by: Vijay Khemka <vijaykhemkalinux@gmail.com>
diff --git a/Makefile.am b/Makefile.am
index 82fdd5d..fbeb379 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -164,6 +164,22 @@
 	-version-info 0:0:0 -shared
 libsysintfcmds_la_CXXFLAGS = $(COMMON_CXX)
 
+if FEATURE_DYNAMIC_SENSORS
+providers_LTLIBRARIES += libdynamiccmds.la
+libdynamiccmds_la_LIBADD = \
+	libipmid/libipmid.la
+libdynamiccmds_la_SOURCES = \
+	dbus-sdr/sensorcommands.cpp \
+	dbus-sdr/storagecommands.cpp \
+	dbus-sdr/sdrutils.cpp \
+	dbus-sdr/sensorutils.cpp
+libdynamiccmds_la_LDFLAGS = \
+	$(PHOSPHOR_LOGGING_LIBS) \
+	$(libmapper_LIBS) \
+	-version-info 0:0:0 -shared
+libdynamiccmds_la_CXXFLAGS = $(COMMON_CXX)
+endif
+
 if FEATURE_IPMI_WHITELIST
 libwhitelistdir = ${libdir}/ipmid-providers
 libwhitelist_LTLIBRARIES = libwhitelist.la