control: Set fans to `poweron_target` at poweron

Utilize the PowerState object to subscribe to power state changes so
fans can be set to their configured `poweron_target` values when the
system is powered on. When a system is powered off, by design, nothing
is done to the fan speeds, that is left up to the configuration of
events to change the fans when a system is powered off, if desired.
Also, for any reason that fan control is restarted when the system is
already powered on, it will not change the fan targets to the
`poweron_target` value. Fan control will pick up on controlling the
configured fans from their current target.

Change-Id: I4e4e619b91e5d64b9b06378a37d9a062f10ace6b
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/json/zone.hpp b/control/json/zone.hpp
index f209b4a..677c210 100644
--- a/control/json/zone.hpp
+++ b/control/json/zone.hpp
@@ -76,6 +76,19 @@
     Zone(const json& jsonObj, const sdeventplus::Event& event, Manager* mgr);
 
     /**
+     * @brief Get the poweron target
+     *
+     * Poweron target is the target the fans within this zone should be set to
+     * when the system is powered on.
+     *
+     * @return Poweron target of this zone
+     */
+    inline const auto& getPoweronTarget() const
+    {
+        return _poweronTarget;
+    }
+
+    /**
      * @brief Get the default ceiling
      *
      * Default ceiling is the highest target the fans within this zone is