This test can easily fail on a heavily loaded machine, such as one
running many tests in parallel.
1. The afterFunc could be delayed _massively_ on a heavily loaded
machine, such as one running a lot of tests in parallel.
2. Requiring an accuracy of 1ms seems like a flake waiting to happen
(as it was in this case)
3. When we write code which uses this scheduler, we can't even
safely assume the afterFunc will _ever_ be run, let alone run
within a 1% margin of time error. As such I don't think this
test is providing any value beyond a general sanity check.
By increasing the allowable delta massively, we keep this test as a
sanity check but basically remove the chance of a flake. The test
essentially becomes "does afterFunc work, generally?".
Also adds a check that the elapsed time is greater than the expected
time.
Signed-off-by: Ashley Davis <ashley.davis@jetstack.io>