Clean up some ember-metal chains code

1. The first change removes a weird instance of 
   improperly removing nodes from an array which
   would break in case there’s every a time that
   a node appears in the array more than once
   (but I’m pretty certain this is never the case)
2. Removed unnecessary .length check of 
   (str && str.length > 0)
Fix spelling error.
[BUGFIX beta] gate reduceComputed item property changes.

When multiple items in an upstream CP have a property that a reduce cp's
`DependentArrayObserver` is watching, and that property depends on some shared
other property, it is possible for `flushChanges` to be called before all the
items have had their caches cleared.

This commit ensures that the item property changes are flushed on the *last*
item's property change, rather than the *first* item's property change.  This
used to be handled via the run loop, but now that reduce CPs are synchronous (to
keep them more in line with regular CPs) we need to gate these changes with a
semaphore.

Fix #4967.
Merge pull request #4971 from hjdivad/fix-4967

[BUGFIX beta] gate reduceComputed item property changes.
sync RSVP 3.0.7

The test failure on 371 of defered_test.js:

RSVP’s latest performance tuning reduced many unneeded nextTick’s. In this specific scenario, with no subscribers the promise did not need to publish its state change and now it correctly does not.
Merge pull request #4972 from stefanpenner/rsvp

sync RSVP 3.0.7
[BUGFIX beta] Do not use a `window` local variable.

Certain tools have a really hard time when you create a local window
variable.
Merge pull request #4973 from emberjs/cannot-set-window-variable

[BUGFIX beta] Do not use a `window` local variable.
Allow passing computed ES6 modules to #view.

Right now, it's possible to pass a computed property to the {{view}}
helper, but that only works if the property returns an `Ember.View`.

This change allows the computed property to return a string, which
the helper will now try to interpret as an ES6 module and resolve.
Merge pull request #4975 from drwrf/refactor/view-resolution

Allow passing computed ES6 modules to {{view}}.
[BUGFIX beta] Filter models in the data adapter when looping over namespaces
[Bugfix] ensure RSVP.on(‘error is correctly unsubscribed
Merge pull request #4978 from stefanpenner/rsvp

[Bugfix] ensure RSVP.on(‘error is correctly unsubscribed
Merge pull request #4977 from teddyzeenny/filter-models

[BUGFIX beta] Filter models in the data adapter when looping over namespaces
Merge pull request #4969 from machty/clean-chain

Clean up some ember-metal chains code
Fix components inside group helper

Components (like `link-to`) end up with the wrong context when used
inside a `#group` helper. And their templates don't get grouped.

I understand that #group is experimental, but as long as the support for
it remains in master, it makes sense to not leave it broken.
Merge pull request #4957 from ef4/grouped-component

Fix components inside group helper
[BUGFIX beta] Route#modelFor shouldn't rely on router

This is especially useful for unit testing. In cases where
there is no router, `modelFor` will no longer cause an exception.
use ember-cli as the CLI to build ember. (broccoli under the hood)

Such dog-fooding.

bonus, ember-cli now comes with  broccoli-sane-watcher, which dramatically reduces the cost of file system watching.

Enjoy your battery life!
Merge pull request #4982 from stefanpenner/ember-cli

use ember-cli as the CLI to build ember. (broccoli under the hood)