Factory Injections

Each now uses container.lookupFactory to fetch the correct
'controller:array' factory

container gets factory injections

You are now able to inject on to factories:

```javascript
container.register('model:user', User);
container.register('store:main', Store);
container.register('config:main', Config);

container.factoryInjection('model:user', 'store', 'store:main')

container.injection('model:user', 'config', 'config:main')

container.lookupFactory('model:user').store === instanceof Store;
```

Also the factory returned from `container.lookupFactory` can be used
to instantiate fully injected instances.

```javascript
// assuming the above example

var UserFactory = container.lookupFactory('model:user');

var user = UserFactory.create({ name: 'stefan' })

user.container === container // => true
user.config instanceof Config // => true
```
Merge pull request #3021 from stefanpenner/factory_injections

Container Learns: Factory injections