Never initialize App synchronously, schedule instead

Instead of wrapping initialize in Ember.run, we now schedule it
as part of the actions queue. In the event that the DOMReady
has already fired, this allows time for App.deferReadiness()
to be called.
Merge pull request #2229 from stefanpenner/fixup_app_boot

WIP: Fixup app boot