optimize component yield to noop when no template
Remove dead method `Route#deserialize`

`Ember.Route#deserialize` is not called anywhere.
remove unnecessary code in loader.js
Merge pull request #3149 from imginohu/master

remove unnecessary code in loader.js
Merge pull request #3152 from tricknotes/remove-dead-method

Remove unused method `Route#deserialize` in test
Optimization: Update Metamorph.js and disable W3C RANGE API by default.
Merge pull request #3110 from eviltrout/disable_range_api

Optimization: Disable W3C Range API by default
Add Ember.on, Function.prototype.on, didInit event

This commit adds `Ember.on(eventName, func)` and `Function.prototype.on`
as cousins to `Ember.observes` and `Function.prototype.observes`. This
provides a declarative form of marking methods to execute when an event
fires.

This is useful for mixins which need to do things on `didInsertElement` and `willDestroyElement`, but don't want to force a call to `super` from the classes that include it:

    Ember.Mixin.create({
      doSomethingWithElement: function() {
        // Executes whenever the "didInsertElement" event fires, regardless of the presence of a method named `didInsertElement`
      }.on('didInsertElement')
    });

In addition, this commit also makes Ember.Object send a `didInit` event after initializing. This provides for an elegant solution to a common need: marking a function as an observer and also executing it at creation time. e.g.

    Ember.Object.extend({
      upateOptions: function(){
        var opts = this.get('controller.foo').importantTransform();
        this.set('options', opts);
      }.observes('controller.foo').on('didInit')
    });
Merge pull request #3155 from lukemelia/ember-on

Add Ember.on, Function.prototype.on, and didInit event
don't alter shape of meta object in ctor

thanks @eviltrout and @ebryn
Update LICENSE
Use a single array for actions.

Eliminate array creation for each listener added.
Fix Ember._suspendListeners

We need more tests around this code.
update s3 upload task and update Gemfile.lock dependencies

Stops the error of "ember.prod.prod.js" not found on Travis, and also
updates the Gemfile to use the new gzip stuff for uploading to s3.
Merge pull request #3164 from fivetanley/new-s3-config

update s3 upload task and update Gemfile.lock dependencies
Avoids Ember.Logger.assert unless needed

It seems console.assert tends to cause some deoptimizations, leading to
some poor performance in development ment. So lets just avoid that
code path unless needed.
Merge pull request #3174 from stefanpenner/master

Avoids Ember.Logger.assert unless needed
supporting replaceURL on HashLocation
Change didInit event to just init
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
```