Fix the scheduler to better handle waking after sleeping/hibernating.

If the time to the next expected event is very old, we've probably
just woken up and need to rescan the recording list.