[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.
Remove another duplicate changelog entry.
Adds docs for templateName
Merge pull request #3835 from stefanpenner/master

remove unnecessary uses of `call` / `apply`
use @wycats amd micro-loader, which supports relative paths
restore sync assertions. This will hopefully help in failure
scenarios, and prevent aging.

Now that we ship with a default RSVP.on('error', ... ) that raises
awareness, promise swallowed assertions should be no more.
Merge pull request #3831 from stefanpenner/restore-sync-assertions

Restore sync assertions
Merge pull request #3817 from twokul/docs-for-templateName

Adds docs for templateName
changes error message
Merge pull request #3839 from twokul/path-message

Changes error message
[Bugfix beta] container.has should not cause injections to be run.

This fixes an issue, were merely checking the existence of a potential
container managed object could cause thrashing cycles. Only if
injection rules already contained a cycle.
[DOC] Adds needs docs for nested controller
Merge pull request #3841 from twokul/nested-controller-docs

[DOC] Adds needs docs for nested controller
Merge pull request #3840 from stefanpenner/container-has-should-be-idempotent

[Bugfix beta] container.has should not cause injections to be run.
[NICETHING beta] Expose helpful vars in {{debugger}} helper body

Folk often don't know what to do within `{{debugger}}`.
This should give them a little more to work with.
Update docs for `inject` method https://github.com/emberjs/ember.js/issues/3670

Replace `model` with `controller` as an example of `inject` method usage because injection into model is currently disabled. 

Copied a note on injection into model from https://github.com/emberjs/ember.js/blob/master/packages/container/lib/main.js#L13
Merge pull request #3861 from arkadiyk/patch-1

Update docs for `inject` method https://github.com/emberjs/ember.js/issu...
fix emberjs/website#1027 with unique header title
Merge pull request #3864 from mikepmunroe/master

fix emberjs/website#1027 with unique header title
Update header comment format to keep it on minify

Some minifier keep header comment over its format.

1. YUI Compressor
It keeps the header comments beggining with `/*!`
* http://yui.github.io/yuicompressor/css.html#special-comments

2. Closure compiler
It keeps the header comments containing `@license` or `@preserve`
* https://developers.google.com/closure/compiler/docs/js-for-compiler#tag-license

I think header comment is very important because it includes its own license.