monitor: Move count timer into TachSensor

Instead of the Fan class owning the count error detection method timer,
this commit moves it into each TachSensor object.

This timer will be stopped until the first time Fan::tachChanged()
detects an out of range sensor, then it will be started.  From that
point on, the timer expiration function is what will call Fan::process()
to increment/decrement the count.  If the count goes back to zero, then
the timer will be stopped and Fan::tachChanged() will take back over.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I1cfc8440d299302b088f53764b71c06ea513690b
diff --git a/monitor/fan.hpp b/monitor/fan.hpp
index 3687a85..a932db2 100644
--- a/monitor/fan.hpp
+++ b/monitor/fan.hpp
@@ -179,8 +179,10 @@
     /**
      * @brief Timer callback function that deals with sensors using
      *        the 'count' method for determining functional status.
+     *
+     * @param[in] sensor - TachSensor object
      */
-    void countTimerExpired();
+    void countTimerExpired(TachSensor& sensor);
 
   private:
     /**
@@ -328,20 +330,6 @@
         _fanMissingErrorTimer;
 
     /**
-     * @brief The interval, in seconds, to use for the timer that runs
-     *        the checks for sensors using the 'count' method.
-     */
-    size_t _countInterval;
-
-    /**
-     * @brief The timer whose callback function handles the sensors
-     *        using the 'count' method for determining functional status.
-     */
-    std::unique_ptr<
-        sdeventplus::utility::Timer<sdeventplus::ClockId::Monotonic>>
-        _countTimer;
-
-    /**
      * @brief If the fan and sensors should be set to functional when
      *        a fan plug is detected.
      */