[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.
Added 'tags' file to .gitignore
[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
Added deprecated flag for 'controllerFor' method on the 'ControllerMixin'.
Merge pull request #3448 from joelcox/controllerfor-deprecated-docs

Added deprecated flag for 'controllerFor' method on the 'ControllerMixin'
'Discreet' Typo
Merge pull request #3450 from flxf/discreet

'Discreet' Typo
Fix link to 'Contributing.md' to include file's name in README
Merge pull request #3451 from bantic/doc-fix-readme-link-to-contributing

Fix link to 'Contributing.md' to include file's name in README
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