Exception designed not to be caught by tests (which may deliberately expect a timeout of another kind, for example).
This exception indicates that the scheduler timed out either in simulated time (e.g. a busy loop with a condition
never being satisfied) or in wall time (e.g. user code was waiting for a task which was never going to complete, due
to a deadlock).
An implementation of IScheduler that doesn't actually delay. This is useful for tests
which aren't interested in precise timing, but just want to be able to use a scheduler.
For more fine-grained control, use FakeScheduler.