[BUGFIX release] Fix #3681.

`Em.arrayComputed` is not presently compatible with lazy CPs. There are a few
issues.

1.  To keep refs up to date, observers stay around as long as the object does.
2.  Those observers can repopulate the cache, but when they do so they fail to
    add dependent keys when the cache was empty.

This commit works around 2. by not removing them in the first place.
Essentially the semantics for `ArrayComputedProperty`s differ from standard
`ComputedProperty`s with regards to laziness.

These observers need to be managed better.  Probably the right thing to do, now
that `recomputeOnce` is no longer necessary, is to:
  1. Fix `Em.computed.sort` to not use `recomputeOnce`;
  2. Fix `Em.arrayComputed` to return a proxy to the cached value;
  3. Teardown array observers when the deps count hits 0.

This will give reduce computed properties semantics much closer to regular
computed properties.  There are two important points to note about this
suggestion:

1.  The cached values would still update synchronously.  This can be improved
    with a lazy array implementation and @wycats's skiplist strategy.
2.  The semantics of an array computed would change such that existing refs
    would only be kept up to date as long as the cache had not been invalidated.
    This is probably fine: the current behaviour is not promised in the
    documentation anywhere and it would be pretty bad practice to keep
    references around rather than `Ember.get`ing them.
[BUGFIX beta] preserve base URL when using history location for routing
add Ember.computed.sum
unbound helper supports bound helper static strings
[BUGFIX beta] Ensure that ember-debug uses EmberENV.

This brings `ember-debug` in sync with the way `packages/ember-metal/lib/core.js`
pulls in `Ember.ENV`.

See https://github.com/emberjs/ember.js/pull/3947 for more info.
[DOC beta] Cleanup documentation for Location API.
[DOC beta] Update RSVP.js documentation.

This brings the vendored version of RSVP up to date with the
documentation changes made in https://github.com/tildeio/rsvp.js/pull/184.

------------

Fix list in `Promise.cast` documentation.

Before:

![screenshot](https://www.monosnap.com/image/OBr2UV08Mi8KSCAPne3TNA1kU.png)

After:

![screenshot](https://www.monosnap.com/image/NS4P8uTrGECtCbK4zK4f4rmLE.png)

YUIDoc will only use documentation found within a code block before any
directives. This means that if you start a code block with `@private`
none of the documentation text for that method/property will be in the
generated output.

Example before:

![screenshot](https://www.monosnap.com/image/RnIb3AFAAcTAaqZoenxZmPGDR.png)

Example after:

![screenshot](https://www.monosnap.com/image/9AuWbnfa3RMJgAGMedbfnLLRN.png)
Merge pull request #4034 from rjackson/update_rsvp_docs

[DOC beta] Update RSVP.js documentation.
Merge pull request #4033 from rjackson/cleanup_location_api_docs

[DOC beta] Cleanup documentation for Location API.
[DOC beta] Generate documentation for ember-extension-support.

Cleans up the docs, and adds the package to the `YUIDoc` config.
Merge pull request #3977 from sly7-7/unbound-with-bound-and-statics

[BUGFIX Beta] unbound helper supports bound helper static strings
Merge pull request #4024 from rjackson/document_ember_extension_support

[DOC beta] Generate documentation for ember-extension-support.
Merge pull request #4025 from rjackson/ensure_debug_follows_same_env_vars

[BUGFIX beta] Ensure that ember-debug uses EmberENV.
[DOC beta] Update copyright year.
Merge pull request #4036 from rjackson/update_year

[DOC beta] Update copyright year.
[BUGFIX beta] Support for mock dates in `Ember.typeOf`.

When mocking `Date` (using
[Timecop.js](https://github.com/jamesarosen/Timecop.js) for example),
`Ember.Enumerable.sortBy` would fail because of the type detection in
`Ember.compare` (`object` instead of `date`).
[BUGFIX beta] Add 'view' option to {{outlet}} helper
Merge pull request #3988 from gigafied/master

Add 'view' option to {{outlet}} helper
Added fail(), catch() and finally() methods to PromiseProxyMixin
Merge pull request #3888 from aexmachina/master

Added fail() method to PromiseProxyMixin