updated IThermostatState
with everything that it should need.
I moved all of the fan stuff into an IFanState interface, which should keep things more organized than if the fan stuff was flattened out into IThermostatState