Same problem as previous commit

Still encountering the problem mentioned in the previous commit. I
think this has something to do with the division. Next approach to
fixing it is to:
- change minRunTimeSeconds -> minRunTimeMillis
- change minOffTimeSeconds -> minOffTimeMillis
- create function millisSinceLastStateChange return type unsigned long*
- use millisSinceLastStateChange in shortCycleProtection

* The entire problem may have been caused by the
secondsSinceLastStateChange’ being defined as ‘int
secondsSinceLastStateChange rather than ‘float
secondsSinceLastStateChange’. If this current code works, I am not
going to go back to using seconds since the less calculations
perofmred, the better.