Prevent Whitehall::Wait from oversleeping.

This was sleeping for too long because `time_to_sleep` wasn't being
updated on each loop iteration, and `time_slept` was being compared with
`<` not `<=`.  The result was that most of the time it would sleep twice
as long as it was expected to, resulting in a c. 2 minute delay in
scheduled publishing.