bmcweb: Fetch Satellite Config from D-Bus

Adds a RedfishAggregator class which is able to pull configuration
information from D-Bus for Satellite BMCs.  These BMCs will be
aggregated by Redfish Aggregation.  Also added is a new compiler
option which will be used to enable Redfish Aggregation.

This patch only allows configurations with unencrypted and
unauthenticated satellite BMC communication.  Support for encryption
and authentication willneed to be added in future patches.

Note that this patch does not actually use the config information
after it has been fetched.  That functionality will be added in
future patches.

Tested:
I made this example config information available on D-Bus
busctl introspect xyz.openbmc_project.EntityManager \
/xyz/openbmc_project/inventory/system/board/SatelliteBMC/aggregated0 \
xyz.openbmc_project.Configuration.SatelliteController
NAME                                                  TYPE      SIGNATURE RESULT/VALUE          FLAGS
.AuthType                                             property  s         "None"                emits-change
.Hostname                                             property  s         "127.0.0.1"           emits-change
.Name                                                 property  s         "aggregated0"         emits-change
.Port                                                 property  t         443                   emits-change
.Type                                                 property  s         "SatelliteController" emits-change

That information was picked up by the changes in this CL:
[DEBUG "redfish_aggregator.hpp":80] Found Satellite Controller at /xyz/openbmc_project/inventory/system/board/SatelliteBMC/aggregated0
[DEBUG "redfish_aggregator.hpp":209] Added satellite config aggregated0 at http://127.0.0.1:443
[DEBUG "redfish_aggregator.hpp":52] Redfish Aggregation enabled with 1 satellite BMCs
[DEBUG "redfish_aggregator.hpp":21] There were 1 satellite configs found at startup

Signed-off-by: Carson Labrado <clabrado@google.com>
Change-Id: Ib5eee2c93aeb209157191055975c127759d73627
diff --git a/meson.build b/meson.build
index d81270f..054b35f 100644
--- a/meson.build
+++ b/meson.build
@@ -72,6 +72,7 @@
   'insecure-tftp-update'                        : '-DBMCWEB_INSECURE_ENABLE_REDFISH_FW_TFTP_UPDATE',
   'kvm'                                         : '-DBMCWEB_ENABLE_KVM' ,
   'mutual-tls-auth'                             : '-DBMCWEB_ENABLE_MUTUAL_TLS_AUTHENTICATION',
+  'redfish-aggregation'                         : '-DBMCWEB_ENABLE_REDFISH_AGGREGATION',
   'redfish-allow-deprecated-power-thermal'      : '-DBMCWEB_ALLOW_DEPRECATED_POWER_THERMAL',
   'redfish-bmc-journal'                         : '-DBMCWEB_ENABLE_REDFISH_BMC_JOURNAL',
   'redfish-cpu-log'                             : '-DBMCWEB_ENABLE_REDFISH_CPU_LOG',
@@ -313,6 +314,8 @@
 conf_data.set10('BMCWEB_INSECURE_DISABLE_XSS_PREVENTION', xss_enabled.enabled())
 enable_redfish_query = get_option('insecure-enable-redfish-query')
 conf_data.set10('BMCWEB_INSECURE_ENABLE_QUERY_PARAMS', enable_redfish_query.enabled())
+# enable_redfish_aggregation = get_option('redfish-aggregation')
+# conf_data.set10('BMCWEB_ENABLE_REDFISH_AGGREGATION', enable_redfish_aggregation.enabled())
 insecure_push_style_notification = get_option('insecure-push-style-notification')
 conf_data.set10('BMCWEB_INSECURE_ENABLE_HTTP_PUSH_STYLE_EVENTING', insecure_push_style_notification.enabled())
 conf_data.set('MESON_INSTALL_PREFIX', get_option('prefix'))