monitor: Add up/down count fault detection

Create an up/down count fault determination algorithm that
could be used in place of the current timer based outOfRange()
function.
The up/down count is a different method for determining when
a fan is faulted by counting up each iteration a rotor is
out of spec and removing those counts when the rotor
returns within spec.

Tested:
    1. Remove a fan and run Mihawk, the counter add 1 when sensor
       is out of spec, and replaced the fan back before hit the
       threshold, the counter decrement back to 0.
    2. Remove a fan, counter add 1 and mark the removed fan as
       nonfunctional when counter reaches the threshold, and
       Replaced the fan back, counter will decrement back to 0
       and fan back to functional.

Change-Id: I632dd2c7553b007beb7ae6bb694a590d2cfc2a1c
Signed-off-by: Jolie Ku <jolie_ku@wistron.com>
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/monitor/fan.hpp b/monitor/fan.hpp
index a50bbb5..91ea395 100644
--- a/monitor/fan.hpp
+++ b/monitor/fan.hpp
@@ -107,16 +107,16 @@
     void tachChanged();
 
     /**
-     * @brief The callback function for the timer
+     * @brief The callback function for the method
      *
      * Sets the sensor to not functional.
      * If enough sensors are now not functional,
      * updates the functional status of the whole
      * fan in the inventory.
      *
-     * @param[in] sensor - the sensor whose timer expired
+     * @param[in] sensor - the sensor for state update
      */
-    void timerExpired(TachSensor& sensor);
+    void updateState(TachSensor& sensor);
 
     /**
      * @brief Get the name of the fan