Fan floor by median sensor value within a range

Add action to set the floor speed based on sensors from within a defined
valid range and using their median value. The floor speed is selected
from the first map key entry that the median value is less than where 3
or more sensor values are valid. In the case where less than 3 sensor
values are valid, use the highest valid value and default the floor
speed when 0 sensor values are valid.

Tested:
    Configured wspoon with this action & correct floor resulted:
        Sensor value invalidated outside of range
        Single valid ambient sensor
        Default floor with no valid sensors(kill ambient service)
        Highest value used w/ 2 valid sensors
        Middle value used w/ odd number of valid sensors(median)
        Average value of middle two valid sensors w/ even number(median)

Change-Id: Ia1599ff13e25dbd7caa7b02c9340cc3e1e9947c6
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
5 files changed