Ember.Select shouldn't trigger change for when content is an empty array-like obejct
The previous check for triggering when content was empty relied on
the falsiness of `[]` but would incorrectly trigger change when the
content was an Array-like object whose proxied `length` was 0.

Specifically this would cause issues with setting the `contentBinding`
of a Select to the `DS.Model.find` values that are empty initially
setting the Select's `selection` from whatever the current value is to
`undefined` when change was triggered on an empty content.

Asynchronously, data would return and the content would become populated
but the selection value had already been unset.
Clarify itemController out of range case.
Merge pull request #1719 from hjdivad/implementation-clarification

Clarify itemController out of range case.
make metamorph a module
Improved handling of Router error states
Merge pull request #1720 from CrowdStrike/router-errors

Improved handling of Router error states
Implement Router v2.1 ;)

See https://gist.github.com/1b54b0eaf48eabbcff24
for the TL;DR
Update route-recognizer
Fix git submodule plural mistake

git submodule command is back in singular form as it should have always been.
Fix failures caused by route-recognizer update
Merge pull request #1743 from CrowdStrike/route-recognizer-fix

Fix failures caused by route-recognizer update
Fix a bug with item controllers.

The shadow array of subcontainers was out of sync when array observers were
fired.
Add container as a dependency in the old-router package.

The ember-old-router build does not work because ember-runtime tries
to load the container module.  I tried moving the container module
to be a dependency of the new router but this broke a lot of things.
It seems a lot easier to ust add container to old-router.
Merge pull request #1744 from shwoodard/fix-old-router-build

Add container as a dependency in the old-router package.
Fine-tune nested naming conventions

We no longer create nested namespaces. This
was clobbering models in some cases. For
example, if you had a nested "comments" inside
of a "post" route, in would create
App.Post.CommentRoute—nuking the App.Post
model.

The new rules for naming are simple:

**Controllers and Routes**
`App.ParentCurrentController`
`App.ParentCurrentRoute`

**Templates**
`parent/current.handlebars`
**Models**
`App.Current`

For example:

```js
App.Router.map(function(match) {
  match('/:post_id').to('post', function(match) {
    match('/comments').to('comments');
  });
});
```

The nested comment route would map to the
following:

```js
App.PostCommentsController
App.PostCommentsRoute
post/comments.handlebars
App.Post
```
Bug fix for {{render "template" model}}
Merge pull request #1742 from bobey/patch-1

Fix git submodule plural mistake
Merge pull request #1740 from hjdivad/arraycontroller-itemcontroller-fix

Fix a bug with item controllers.
Merge pull request #1728 from stefanpenner/alias_updates

WIP Implemenation of #1725
Merge pull request #1607 from trek/ember-select-and-array-like-objects

Ember.Select and RecordArrays