CronTimeRange -> Fix ugly code causing random issues in time
comparisons.  Must have been drinking when I wrote that cause I dont
remember doing it :)   Thanks to George Clark for narrowing down the use
case that failed.
Light / StateDevice -> Add yet another Light functional test and put
some debugging into Statedevice for catching the random time compare
issue.  This bug has now been found (and the tests didnt help) but I am
leaving this code in here for now.