Implement mock zones, microtasks.

Can now use the Angular.dart style 'async(function() { ... }' to wrap a function tin a mock zone so you can write an asynchronous test with full control (synchronously).