Fallback to global console

This way, if one has imported Handlebars and jQuery, but not console, debugging will still work.
Merge pull request #3109 from aaronshaf/patch-1

Fallback to global console
Fix typos.
Merge pull request #3146 from eventualbuddha/patch-2

Fix typos.
cleanup yield
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
Explain groupedRows option in #each helper
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')
    });
WIP documentation audit
Enhanced API documentation
Ember routing controller and helper changes
ember-metal/lib/instrumentation.js
Added documentation coverage to resolver.js
Corrects location of ControllerMixin extension