removed round() from secondsSinceLastStateChange

Encountering problems where state change not allowed even after the set
number of seconds have elapsed. While I'm not sure what is causing it,
I have a feeling the value being fed into shortCycleProtection may be
incorrect in some cases. It, for example, does not work with:
stateChangeMillis = 558611648
millis = 609928184

If anyone has any further ideas why this might be the case, let me
know. The shortCycleProtection logic is pretty simple which is why I'm
guessing this is a math issue of some sort...