remove redundant assignment of isDestroyed
[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]  sort guid fallback unconfused by ObjectProxy.

`Em.computed.sort` uses a guid check as a fallback comparator.  In order to
search for items correctly, it also wraps items on removal in an object proxy to
shadow new values with the previous values.

This proxy needs to be sort-equal to the actual object.  To ensure the guid
fallback check treated the item and the proxy as equal, it had a check
`ObjectProxy.detectInstance`.  This check is obviously deficient in the face of
items that might themselves be `ObjectProxy`s, such as `ObjectController`s when
using `@this` as the base array in an `ArrayController`.

This commit creates a local type of `ObjectProxy`, `SearchProxy`, to avoid this
confusion.

Fix #3720.
[BUGFIX beta] Added assert mismatched template compiler version.

See #3728. Using an old version of Ember to precompile templates
can result in an unusual error when trying to render a component
in block form, e.g.

```
  {{#my-component}}Hello{{/my-component}}
```

This commit adds an assert to give the user more information
as to what's going on.
Merge pull request #3724 from hjdivad/fix-3720

[BUGFIX beta]  sort guid fallback unconfused by ObjectProxy.
[BUGFIX beta] Close #3502 – Fix issue with templateName in Route and render.
Merge pull request #3727 from abuiles/fix_render_template_in_route

[BUGFIX beta] Close #3502 – Fix issue with templateName in Route and render.
[BUGFIX beta] [fixes #3714] PromiseProxy should merely observe promises.

Uncaught exceptions should likely still propogate.
fixes for yuidoc comments
Merge pull request #3731 from twokul/computed-yuidoc-fixes

fixes for yuidoc comments
fixing docs
Merge pull request #3734 from twokul/more-docs-fixes

fixing docs
Docs: Fix link in handlebars text field API

Currently, this link was returning a 404 response. It should be
relative to the /api/classes path. This change fixes the link.
[BUGFIX beta] Correct type of variable initialization

`allowedKeys` should be a string value because it will be passed from template.

Such as:
``` handlebars
<a href="#" {{action "edit" allowedKeys="alt"}}>click me</a>
```

If it is treated as an array, [`allowedKeys.indexOf`][] doesn't work on old IE.
Because `Array#indexOf` is not defined in old IE.

[`allowedKeys.indexOf`]: https://github.com/emberjs/ember.js/blob/a51806a2cdc2fc93f8ed3fe6d0d53ab229c455d3/packages/ember-routing/lib/helpers/action.js#L48
Merge pull request #3730 from tricknotes/fix-for-ie8

[BUGFIX] Correct type of variable initialization
Revert "[BUGFIX beta] Correct type of variable initialization"

oops should actually only be [BUGFIX] - @stefanpenner

This reverts commit 34eed4362088978b4558b856cb1136181d085640.
[BUGFIX] Correct type of variable initialization

`allowedKeys` should be a string value because it will be passed from template.

Such as:
``` handlebars
<a href="#" {{action "edit" allowedKeys="alt"}}>click me</a>
```

If it is treated as an array, [`allowedKeys.indexOf`][] doesn't work on old IE.
Because `Array#indexOf` is not defined in old IE.

[`allowedKeys.indexOf`]: https://github.com/emberjs/ember.js/blob/a51806a2cdc2fc93f8ed3fe6d0d53ab229c455d3/packages/ember-routing/lib/helpers/action.js#L48
[BUGFIX beta] Add spec for unhandled exception being logged by Test.adapter.exception

The changes in exception handling introduced in
cf0caa04f625067ec3b4629acdec12c8517df94e made a test assertion in an
existing test obsolete, since it wasn't called anymore.

This commit adds a spec for Test.adapter.exception being invoked, when
an exception is not handled.
[DOC] What a Hampster is?
[BUGFIX beta] Enumerable#any no longer returns false if NaN is matched

Fixes #3736