Create Witherspoon fan errors

Moved the code to create NotPresent and Nonfunctional errors to a new
yaml, fan-errors.yaml.
Fixed the problem with duplicate errors, caused by a 2nd fan
going nonfunctional or not present which would create a 2nd error
for the 1st fan previously nonfunctional or not present.

Create a notpresent error if fan 0, 1, 2, or 3 is not present for more
than 20 seconds. Create a Nonfunctional error if fan 0, 1, 2, or 3 is not
functional for any amount of time.
The system must be powered on in both of these cases.
If a water cooled system, don't create errors for fan 1.
An error is created each time the chassis powers on if a fan is
removed or nonfunctional.

Resolves openbmc/openbmc#2472

Change-Id: Ibd71bf3a3b2381df623e7310a510a2f044c525e4
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
4 files changed