util/time: Add another useful function
Pull out SleepUntil to be a helper function doing the check first optimization

At least at one point in the past the optimization was added because it was a significant perf win.