Added ability to customize generated controllers and routes

The problem with generated routes and controllers is that you cannot have a "rails-like" Base Controller and Base Route that all your controllers and routes can extend.

I am extending all my controllers from my defined `App.ObjectController` and `App.ArrayController`, and all my routes from my `App.Route`.  Problem is, I can no longer take advantage of Ember conventions, since generated controllers use the default `Ember.ObjectController`, `Ember.ArrayController`, `Ember.Route`.

This PR allows us to optionally define `App.ArrayController`, `App.ObjectController`, and `App.Route`.  All generated controllers and routes would extend them.

EDIT
I also added the ability to define `App.Controller`