Introduce registerAsyncHelper which allows for unchained async helpers

All helpers registered with `Ember.Test.registerAsyncHelper` can be called
without being chained.  These helpers will not run until all previous
async helpers are done.  All async helpers after this helper will not run
until this helper is done.

```javascript

Ember.Test.registerAsyncHelper('clickPost', function(app, title) {
  click('.post-title:contains('+ title +')');
});

//... in your test

visit('/');

clickPost('My Post');

andThen(function() {
  equal(find('h1').text(), 'My Post');
});

```