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.