make collect return an Ember.A with EXTEND_PROTOTYPES
Prevent extra method.toString checks.

It appears that the intent here was to only check the
`method.toString().indexOf('_super')` once, and store the result so that
we do not need to check the same method twice, but we were never actual
storing `__hasSuper` on the method so it was just always going to check
the `toString`.
Merge pull request #5480 from rwjblue/prevent-extra-toStrings

Prevent extra method.toString checks.
String.prototype.indexOf returns -1 for non-matches.

Previous check would wrap everything (unless `_super` was at position
`0` which is not possible).
Merge pull request #5481 from rwjblue/properly-use-indexOf

String.prototype.indexOf returns -1 for non-matches.
[DOC release] Update Ember.computed with depKeys and example
Merge pull request #5486 from knownasilya/docs-computed-dep-keys

[DOC release] Update Ember.computed with depKeys and example
[BUGFIX release] Ensure exports are setup for node build.
[Bugfix beta] ensure pushUnique targetQueue is cleared by flush
Merge pull request #5490 from stefanpenner/fix-bb

[Bugfix beta] ensure pushUnique targetQueue is cleared by flush
remove unused vars and enforce in jshint
Merge pull request #5475 from emberjs/unused-jshint-vars

remove unused vars and enforce in jshint
Merge pull request #5489 from rwjblue/ensure-exports-for-nodeland

[BUGFIX release] Ensure exports are setup for node build.
[BUGFIX beta] instrument should still call block even if no subscribers
remove uneeded normalization (lookupFactory already does this)
Merge pull request #5497 from stefanpenner/remove-wasteful-normalize

remove uneeded normalization (lookupFactory already does this)
[BUGFIX release] Makes sure that internal properties do not leak onto created objects.

Fixes #5485.
Merge pull request #5501 from twokul/super-fix

[BUGFIX release] Makes sure that internal properties do not leak onto created objects.
[FEATURE ember-metal-injected-properties] Added `InjectedProperty` descriptor

This adds a new `Descriptor` type for defining a property that does a
lazy lookup on an object's container. There is no public API addition
since this kind of property is easily abused. Instead it will be used by
internally `ember-runtime` API additions, where validation can happen.
Added `inject` namespace and injected property creation/validation

This adds a new property to the root namespace that provides computed
properties for container lookup that are enforced by type. This is to
disambiguate between other top level properties that are very similar.
Any ember module can create a new per-type injection helper by calling
`createInjectionHelper` and providing a mixin-time validation function.

The container has been modified to support validating lazy lookups
before instantiation through the factory's `lazyInjections` method which
returns an array of full container names that must be valid.