Polyfill history.state for non-supporting browsers
simplify history.state support check
warns when trying to get a falsy property
Allows itemView option into the each/collection helper. If itemView
exists and there is a controller container, then it will attempt to
resolve the view via the container.
assert that item view exists in container and camelize lookup name
Fixed bug in Ember.Application#reset that calls `startRouting` twice.
Use released handlebars
{{linkTo}} bound contexts, loading class

Merge of work between @drogus and @machty.

Replaces and Closes #2181
Replaces and Closes #2252

{{linkTo}} contexts are now bound. e.g.:

    {{linkTo 'foo' pathToObj}}

will generate a linkTo that updates its
href if the resolved value of `pathToObj`
changes.

Also, if ANY of the linkTo params yield
null/undefined, including the first route name
param (if it is unquoted), href will be '#',
a new `loadingClass` class will be applied to
the linkTo element, and clicking/invoking
the loading linkTo will no-op and produce
an Ember.Logger.warn message that the linkTo
isn't loaded yet.

Note: due to overlap in loading logic and the recently
added stringified linkTo route behavior, the loading
logic is hidden behind the ENV.HELPER_PARAM_LOOKUPS
flag for now.
Merge pull request #2941 from tricknotes/use-released-handlebars

Use released handlebars
Merge pull request #2942 from machty/dynamic-link-to

{{linkTo}} bound contexts, loading class
Merge pull request #2936 from westoque/fix-ember-reset-bug

Fixed bug in Ember.Application#reset that calls `startRouting` twice.
Throw exception on invalid arguments for pushObjects method (issue #2848)

Ember.MutableArray and Ember.ArrayProxy method #pushObjects should accept only
Ember.Enumerable or Array as argument. In other case it throws an exception.

This is a bugfix for: https://github.com/emberjs/ember.js/issues/2848

Pull request consist of: bugfix, changes in documentation, tests.
Merge pull request #2950 from chrmod/pushObjects

Throw exception on invalid arguments for pushObjects method (issue #2848)
.jshintrc: set browser:false

Setting `browser:true` predefines a large list of globals. Some of
these, like `window`, `location`, and `setTimeout`, are really useful.
Some of them, like `name` and `event` are really dangerous to have
available as globals. They invite code errors.
Merge pull request #2953 from jamesarosen/james/jshint_browser

.jshintrc: set browser:false
Merge pull request #2887 from gdub22/history-state-polyfill

Polyfill history.state for non-supporting browsers
Remove non ASCII character in handlebars assertion error message

When using the template compiler with certain other tools which do not support unicode, this special character causes a nightmare.
Merge pull request #2954 from Juvenal1228/patch-1

Remove non ASCII character in handlebars assertion error message
Specify controller of a route via controllerName

This commit adds the possibility to specify the controller a route shall
use via a `controllerName` property.

Given the following app:

```
App.Router.map(function() {
  this.resource('team', function() {
    this.route('overview');
    this.route('detail');
  });
});

App.TeamController = Ember.ObjectController.extend({ ... });

App.TeamOverviewRoute = Ember.Route.extend({ controllerName: 'team' });
```

The controller in the `team/overview` template is the `App.TeamController`
instead of the generated `App.TeamOverviewController`. Since the
`controllerName` isn't set on the `App.TeamDetailRoute`, in this
template the generated `App.TeamDetailController` is used.
ember-application test refactoring