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
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.
Merge pull request #2955 from pangratz/route_controllerName

Specify controller of a route via controllerName
Merge pull request #2930 from ryanto/item_view

{{each}} itemView option
Merge pull request #2902 from raulbrito/property_get_tests

warns when trying to get a falsy property