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)
Remove old/unused JSHint reporter.

This is handled by `broccoli-jshint` now, and is no longer used.
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