control/zone: Refactor addTimer

Anything adding a timer uses roughly the same process of building the
event data and timer from the event group, actions, and timer config. We
can adjust the method to do this for all callers.

Tested:
    Builds and passes unit tests.

Change-Id: I4013ff2f7bff65095a6e1db7075bc013da374f51
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/control/zone.hpp b/control/zone.hpp
index e035a64..4f4dfb6 100644
--- a/control/zone.hpp
+++ b/control/zone.hpp
@@ -367,15 +367,13 @@
         /**
          * @brief Add a timer to the list of timer based events
          *
-         * @param[in] data - Event data for timer
-         * @param[in] timer - Timer to be added
+         * @param[in] group - Group associated with a timer
+         * @param[in] actions - List of actions associated with a timer
+         * @param[in] tConf - Configuration for the new timer
          */
-        inline void addTimer(
-                std::unique_ptr<EventData>&& data,
-                std::unique_ptr<phosphor::fan::util::Timer>&& timer)
-        {
-            _timerEvents.emplace_back(std::move(data), std::move(timer));
-        };
+        void addTimer(const Group& group,
+                      const std::vector<Action>& actions,
+                      const TimerConf& tConf);
 
         /**
          * @brief Remove the given timer event