control: Add zone setTarget required functions

Copy over the setTarget required functions to the JSON based zone
object. This enables JSON based zone objects to set fan targets based on
actions.

Change-Id: I5be4ad2a6bc85c6a1333d8319fdad0c206b23bb0
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/json/zone.hpp b/control/json/zone.hpp
index 45dea20..56fb855 100644
--- a/control/json/zone.hpp
+++ b/control/json/zone.hpp
@@ -147,6 +147,21 @@
     void addFan(std::unique_ptr<Fan> fan);
 
     /**
+     * Sets all fans in the zone to the target given when the zone is active
+     *
+     * @param[in] target - Target for fans
+     */
+    void setTarget(uint64_t target);
+
+    /**
+     * @brief Sets the automatic fan control allowed active state
+     *
+     * @param[in] ident - An identifier that affects the active state
+     * @param[in] isActiveAllow - Active state according to group
+     */
+    void setActiveAllow(const std::string& ident, bool isActiveAllow);
+
+    /**
      * @brief Set the floor to the given target and increase target to the floor
      * when the target is below the floor value when floor changes are allowed.
      *
@@ -276,6 +291,12 @@
     /* Map of interfaces to persisted properties the zone hosts*/
     std::map<std::string, std::vector<std::string>> _propsPersisted;
 
+    /* Automatic fan control active state */
+    bool _isActive;
+
+    /* Map of active fan control allowed by a string identifier */
+    std::map<std::string, bool> _active;
+
     /* Interface to property mapping of their associated set property handler
      * function */
     static const std::map<