Failing test: {{control}} helper test can be nested

Failing test for issue #1928.

After digging deeper into the `{{control}}` helper source code, I think I have found where the problem is.

First, a `child` is generated in the `container` [here](https://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/helpers/control.js#L25).

When the parent `{{control}}` is computed, it : 
* Generates a `child` in the `container` ([here](https://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/helpers/control.js#L25))
* Instantiate the controller and the view in this child by calling `lookup` ([here](https://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/helpers/control.js#L31-L33))

Then, when the nested `{{control}}` is computed, it:
* Generates a new `child`
* Lookups the `controller` and the `view` in this child. But, as the `cache` of this `child` is an `InheritingDict`, and since the parent container already has this kind of controller, it just return the existing parent `controller`.

Then, when setting the `model` of the `childController` ([here](https://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/helpers/control.js#L39)), it just removes the parent model add set the nested model instead.

The problem should not happen if the registered controller was not a singleton, but I am pretty sure this is not a solution...