[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.
[String-humanize] Add Ember.String.humanize
replaceWith/replaceRoute documentation

Updated the documentation to explain the difference between replaceWith
and transitionTo as well as replaceRoute and transitionToRoute.  I also
added documentation explaining how multiple models are used when they
are sent to those 4 methods.
[Improved assert for #3457] provide helpful assertion if needs is specified but no container is present.
Merge pull request #3456 from kingpin2k/replaceDocumentation

replaceWith/replaceRoute documentation
typo in documentation
Merge pull request #3459 from kingpin2k/typo

typo in documentation
Merge pull request #3224 from sentientmonkey/master

Add Ember.String.humanize
fix initializer assertion messages

(@stefanpenner / @rjackson)
Merge pull request #3464 from rjackson/improve-assertions

fix initializer assertion messages
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.