Container throws if injection registered for already instantiated type.

Prior to this commit, the container would happily allow you to register an
injection for a type that had already been instantiated. This led to
confusing-to-debug situations where an injection is registered but a
container-created instance doesn't have the injection applied.

Also covers factoryInjections.
[BUGFIX beta] Ensure context is unchanged when using keywords with itemController.

Prior to this change the following code would bind `this` in the
template block to the itemController's content (even though the keyword
form of `{{each}}` is used).

This change sets the child view's `_context` property to the current context when using
the keyword form of `{{each}}`, and a couple of confirming tests to
demonstrate using `itemController` specified in either the
`ArrayController` or the template directly.
[BUGFIX beta] Better error message for rejected routes.
[DOC beta] Fix warnings generated by yuidoc.
[DOC beta] Update the FEATURES.isEnabled docs so it doesn't look like a method on the Ember object.
Merge pull request #4703 from bmac/cleanup-yuidoc-warnings

[DOC beta] Fix warnings generated by yuidoc.
Merge pull request #4702 from bmac/move-is-enabled

[DOC beta] Update the FEATURES.isEnabled docs so it doesn't look like a ...
Merge pull request #4636 from rjackson/dont-destroy-context-with-item-controllers

[BUGFIX beta] Ensure context is unchanged when using keywords with itemController.
Merge pull request #4328 from lukemelia/injection-error

Container throws if injection registered for already instantiated type
prefer array pre-allocation and index setting when unrolling the arguments object
Merge pull request #4706 from stefanpenner/ocd

prefer array pre-allocation and index setting when unrolling the arguments object
Merge pull request #4698 from rjackson/add-better-errors-for-rejected-model-hooks

[BUGFIX beta] Better error message for rejected routes.