split sleep() into three functions

Specify sleep in terms of Reals, Durations and Instants, so that Int,
Rat and FatRat types are also allowed as inputs.  Use sleep() now when
you don't care how long it really sleeps, and you may use sleep-timer()
to convey the intent to measure remaining time.  Use sleep-till()
to sleep to a particular Instant without cumulative clock drift.