Implement basic synchronous version
Initial implementation
cleanup
replace 'if(' with 'if ('
Update README
Add testing.time.all_tests to testing.all_tests
Remove dependency on Clock, rename FakeClock to FakeTime
Replace `zone` with simple `run` method
Reflect changes in README
Move FakeTime to quiver.testing.async
Replace now with elapsed, rename advance to elapse
Pass receiver to run callbacks
Replace ..run with .run
Revert "Replace now with elapsed, rename advance to elapse"

This reverts commit 279b0c1f6d473d65ed4a449e6fb308ff18ac7c9b.

Conflicts:
	lib/testing/src/async/fake_time.dart
	test/testing/async/fake_time_test.dart
Make elapse sync, rename elapseSync to elapseBlocking
Test that elapseBlocking doesn't  call timers
Store fake timers in Set instead of Map
Cleanups, test additions
Change clock to getClock(initialTime)

initialTime is only relevant to the Clock, which is not always needed,
so it should not be a constructor parameter.  This allows initialTime to
be a required argument, and thus not be named, and not having to default
it to `new DateTime.now()` which introduces indeterminism to tests.
Rename to FakeAsync