[FEATURE ember-metal-test-friendly-promises]

This makes promises no longer subject to auto-run assertions.
This also automatically lets a test suite know about start/stop of async, so testing is smooth.


I've used this in some real app, and complex async scenarios, and it feels really nice.

- [x] thorough tests
- [x] more real-world
- [x] sanity checked by others