Move signals to event triggers

Move the generation and initialization of signals to be included in the
available event triggers. The signal trigger consists of subscribing to
a given signal match where when the signal is received and handled, it
causes the event actions to be called.

Tested:
    All current event signals are still registered and received
    Speed changes occur based on temperature sensor change signals

Change-Id: Iab4ccabb50ad910d5d566bd8c1922109638bd760
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/triggers.hpp b/control/triggers.hpp
index 0a2e96a..aad64d4 100644
--- a/control/triggers.hpp
+++ b/control/triggers.hpp
@@ -24,6 +24,18 @@
  */
 Trigger timer(TimerConf&& tConf);
 
+/**
+ * @brief A trigger of a signal for an event
+ * @details Subscribes to the defined signal match.
+ *
+ * @param[in] match - Signal match to subscribe to
+ * @param[in] handler - Handler function for the received signal
+ *
+ * @return Trigger lambda function
+ *     A Trigger function that subscribes to a signal
+ */
+Trigger signal(const std::string& match, Handler&& handler);
+
 } // namespace trigger
 } // namespace control
 } // namespace fan