BREAKING: Move setting controller's `model` into setupController

This commit reverse an earlier change (43354a98). After living with
this in multiple applications, we found that it was problematic that
the `model` property is set in a place that is not easy to override.
One side effect is that when not intended, this property changing can
result in observers firing at unintended times.

In addition, this change makes `setupController` consistent with
`model` and `renderTemplate` in that it has sane default behavior
that is usually what you want but can be overridden.

Thanks to @tchak for prompting this thinking in #2044.

This PR also adds a guard for when the model hook returns undefined,
as is the default behavior for a non-dynamic route. In this case,
the controller's model property is no longer set. This change will
help avoid routes unexpectedly squashing computed controller content.

Kris Selden / Luke Melia
Bring back autorun assertion during testing
Added the ability to chain helpers
Merge pull request #2724 from teddyzeenny/chained-helpers

Added the ability to chain test helpers
Merge pull request #2722 from teddyzeenny/autorun

Bring back autorun assertion during testing
fix misleading docs [fixes
https://github.com/emberjs/website/issues/485]
Merge pull request #2703 from lukemelia/setup-controller-update

BREAKING: Move setting controller's `model` into setupController
Added support for calling multiple async test helpers concurrently
App learns to LOG_ACTIVE_GENERATION 

logs when controllers/routes are generated.
Added logging of view lookups
remove logging tests dependency on ember-testing
Merge pull request #2694 from stefanpenner/log_generation

WIP: App learns to LOG_ACTIVE_GENERATION
Fix view leak (issue #2712)
Merge pull request #2730 from ef4/view-leak

Fix view leak
ensure willDestroy happens in action queue so live
objects have a chance to respond to it before destroy

addresses #2517
Replace tab -> whitespace
Fix to ignore internal property in `Ember.keys`
Fix failing test in older IE

In older IE, `for` enumerate internal properties.
Guard from non-native `Object.keys` for `Ember.keys`

To ignore non-enamarable properties, `Ember.keys` should be defined as
Ember own method when `Ember.create` is simulated.
Merge pull request #2734 from tricknotes/fix-failing-test-in-ie8

Fix failing test in older IE