I will make a PR for tildeio/router.js with this change when we have consensus on this PR.
View, controller & route action handlers are now expected to be defined on an `actions` object.

The previous locations are now deprecated (i.e. defining action handler functions directly on the view, directly on the controller, and in an `events` object on the route).

This makes action-handling consistent across Ember.

In the proposal and PR process for this change, some developers expressed concern that "actions" was a part of the domain language of their app. To mitigate the impact on these apps, Ember will automatically rename `actions` to `_actions` behind the scenes. This allows an ObjectController to proxy to a model with an `actions` attribute, even if you have an `actions` object defined on the controller.

Actions properties must be defined at extend time. An assertion has been added if you try to define `actions` as part of create in a view, controller, or route.

This commit also includes some cleanup of routing/basic_test.js per @machty.
Merge pull request #3091 from lukemelia/controller-events-hash

Apply "actions" hash to View, Controller & Route action handling
Don't fire change events while traversing the
chain node graph, instead gather the events and
fire them after the traversal to avoid side effects
of the change events from modifying the chain graph.

fix #2031
fix #3197