[BUGFIX beta] Do not collide with user named objects.

As evidenced in #4474, user objects currently cannot be named
`BasicRoute`, `BasicController`, `ObjectController`, `ArrayController`. Now it
does not seem like a very big issue, but it seems fairly simple to fix.

All internal routes and controllers are now registered with the
`-ember-` prefix.

Fixes #4474.
Fixes #4475.

-----

Currently anyone
If we still need to support `lookup('route:basic')` for legacy and/or SemVer reasons, I can incorporate the same deprecated container proxy that we use in Ember Data (see [here](https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/container_proxy.js)). This will still allow the older syntax to work (for any third party libs) but will throw a deprecation warning.