Deprecate before observers

Also remove usages of public `addBeforeObserver` in ember internals.
Added asserts for reserved route/resource names
[BUGFIX] Allow Ember.Select to have selection from a Promise
when multiple=false
Add deprecation for old usages of cachable and readOnly in CPs

* Passing opts.cacheable to the constructor of ComputedProperty is deprecated
* Passing opts.readOnly to the constructor of ComputedProperty is deprecated
* Invoking `cacheable` in a computed property is preprecated.
* Invoking `readOnly` with aany params in a computed property is deprecated.
* Make InjectedProperty inherit `readOnly` from CPs prototype
Changes test name to use underscores
Merge pull request #9705 from twokul/rename-test

Changes test name to use underscores
Remove lingering templateData
Merge pull request #9707 from mmun/remove-templateData

Remove lingering templateData
Moves integration tests with globals
Merge pull request #9708 from twokul/global-integration-tests

Moves integration tests with globals
Moves `{{with}}` tests
Merge pull request #9706 from twokul/integration-tests

Moves `{{with}}` tests
[DOC] Include `Ember.isEmpty({})` example

Coming from rails, I expected `Ember.isEmpty({})` to return `true`.
Since this isn't the case, it might be a good idea to illustrate this in
the docs, since there is already a unit test covering this case.
Moves `{{log}}` helper tests`
Merge pull request #9710 from twokul/log-helper-tests

Moves `{{log}}` helper tests`
Merge pull request #9709 from seanpdoyle/hash-is-empty

[DOC] Include `Ember.isEmpty({})` example
Moves escaping tests
Merge pull request #9711 from twokul/escape-integration-tests

Moves escaping tests
More tests for `{{with}}` and `{{view}}` integration
Merge pull request #9712 from twokul/more-with-view-integration

More tests for `{{with}}` and `{{view}}` integration