Checks: Avoid bunching of checks delayed due to timeperiod constraints

For checks that need to be scheduled in the future because they are
not currently in a timeperiod that allows checks, this commit adds
a delay so that we don't get a bunch of checks scheduled at the same
time and thus have spikey load on the system.

Specifically for checks that are delayed at Nagios core start-up,
the delay is equal to the delay that would have been applied if the
checked had been scheduled immediately. For checks that are being
rescheduled due to a regular interval, the delay past the start
of the valid timeperiod is a random number between 0 and the interval
length.

The latter delay could be better handled by applying the same criteria
that are applied at start-up, but that criteria is not available when
checks are rescheduled. Making the criteria avaiable would require
additional fields in the host and service structures.