Make Ember.observer work with the function as the last argument. Support the old style with a deprecation notice.
Update tests with the new style for Ember.observer.
Update Ember.immediateObserver and Ember.beforeObserver to match the new Ember.observer style.
Only soft-deprecate the old Ember.observer style.
User Ember.Error for errors.
[FEATURE __] loading/error substates

Proposal/Discussion:
http://discuss.emberjs.com/t/proposal-nested-loading-routes/2895

Note: this is a "feature", but it was not feasible to wrap in feature
flags
Merge pull request #3568 from machty/loading-substates

[FEATURE] Loading/error substates
Merge pull request #3590 from gunn/master

Change Ember.observer and friends to take function as the final argument