[FEATURE em-o] Added `Em.O` (shorthand for `Ember.Object.create`
[BUGFIX beta] Fixes issue when content is undefined for Ember.Select with optgroup

If the content given is undefined at the time of initialization, and
later changed,
`Ember.Select` correctly renders an empty select and then updates the
content  [Example](http://jsbin.com/epodAwU/14/edit),
But `Ember.Select` with `optgroup` breaks.
[Example](http://jsbin.com/IJaToVO/1/edit).

This breakage may happen, when the content for the select is fetched
via an ajax call to the server.

This PR fixes it.
Update route recognizer
Fix documentation and inconsistent usage for Ember.deprecateFunc()
[FEATURE ember-testing-wait-hooks]

In integration testing, sometimes it's necessary to make `wait` respect
other kinds of pending actions that are not in its default
implementation. For example, if your application is waiting for a CSS3
transition or an IndexDB action, the default `wait` implementaiton will
ignore those things and move on with the test prematurely.

This change lets you register additional functions that `wait` will call
to see whether it's really time to move on.
[FEATURE ember-runtime-sortBy] Adds `sortBy` to the Enumerable mixin.

'sortBy' allows for sorting an enumerable by one the values of one or
more properties.

@kselden / @lukemelia
Update router.js to bc22bb4d59e48d187f8d60db6553d9e157f06789

For didTransition
[FEATURE ember-routing-didTransition-hook] Add a `didTransition` hook to the router.

For use in analytics and such, you may listen to this hook.
[Improved assert for #3457] provide helpful assertion if needs is specified but no container is present.
Add `Ember.Subarray.prototype.toString`.

This is mostly helpful in debugging.
[BUGFIX release] `Ember.SubArray` operation composition fix.

In the case where `SubArray` would compose-left, the index was left unchanged,
and we would attempt to compose-right with bad assumptions about what operation
we were composing.
[BUGFIX] Fix an issue with concatenatedProperties.

This commit fixes an issue with how contactedProperties are applied that
can result in subclasses sharing a reference to the same array, in a
surprising way. As an example, the failing test provided here shows
how two Ember.App subclasses shares were sharing inadvertently
sharing initializers.

Thanks to @kselden and @stefanpenner for code review.
Merge pull request #3458 from stefanpenner/improved_needs_assertion

[Improved assert for #3457] provide helpful assertion if needs is specified but no container is present.
Don't allow registration of undefined factories.

container.register(fullName, undefined) now throws
an Exception. This is obviously much stricter then
the current approach, but an obvious win, as we
can detect obviously exceptional scenarios early.
Merge pull request #3446 from lukemelia/sort-by

[FEATURE ember-runtime-sortBy] Adds `sortBy` to the Enumerable mixin.
Add readonly attribute support to textarea helper
Merge pull request #3475 from maginatics/master

Add readonly attribute support to textarea helper
[FEATURE ember-runtime-sortBy] Use Ember.compare inside sortBy
Revert "Merge pull request #3475 from maginatics/master"

This reverts commit 39fa88e3a064f52073483856cbde3b06854f2f6d, reversing
changes made to 8e2f82b49ac797091cd401a5703c23ab085a311b.
Merge pull request #3476 from bradleypriest/compare

[FEATURE ember-runtime-sortBy] Use Ember.compare inside sortBy