Created by: holm
This rewrites the logic around updating delay set to be a bit safer and simpler (imo).
In the previous code there was a race-condition due to the timer being cleared before the call to process the delay set, and in the time until the processing was done, another processing could have been started.
The new code does away with the guardian timer, and instead combines the guardian timer with the updates coming from new jobs being posted.