Route#controllerName takes precedence over Route#routeName during render

This pull assumes that in defining the `controllerName` property on an `Ember.Route`, the expected default behavior for the `render` method would be to use the controller defined by that property when rendering the view.

The changed precedence would be:

1. The controller option specifically passed to `Route#render`. If it is passed specifically during
    invocation, that's a no-brainer.
2. The controller specified by the Route's `controllerName` property. If the user took the time to define
    the property, then it makes sense that the expected behavior is to use that controller as the context
    for the view.
3. If found, use the controller that matches the name of the template.
4. Finally, use the controller that matches the name of the route.

There are no tests associated with this pull because the [`normalizeOptions`][1] function is isolated and also I wouldn't know where to start.

[1]: https://github.com/bschaeffer/ember.js/blob/route-controller-presedence/packages/ember-routing/lib/system/route.js#L1447