Deprecate before observers

Also remove usages of public `addBeforeObserver` in ember internals.
Replace listenersDiff and listenersUnion with a single function accumulateListeners; rename parameter
[DOC beta] An attempt to update the Ember.run.bind docs per #9735
Prefer `import` over global `Ember.FOO`

Import dependencies in tests, instead of reaching into global `Ember`
junk-drawer.
Remove duplicate `props_helper` module

Utilize the more full-fledged `ember-runtime/tests/props_helper` module
instead.
[Bugfix beta] Ember.assert(message, Ember.Object) should not raise, and should not try to invoke Ember.Object as if it was a function.
Merge pull request #9786 from stefanpenner/fix-ember-assert

[Bugfix beta] Ember.assert(message, Ember.Object) should not raise, and ...
Ensure {{unbound if}} works for undefined values.
Merge pull request #9783 from rwjblue/fix-unbound-if-undefined-values

Ensure {{unbound if}} works for undefined values.
Merge pull request #9778 from seanpdoyle/es6-imports-in-ember-metal-tests

Prefer `import` over global `Ember.FOO`
Merge pull request #9781 from seanpdoyle/props-helper-cleanup

Remove duplicate `props_helper` module
Merge pull request #9770 from tehcurtis/9735_update_run_bind_docs

[DOC beta] An attempt to update the Ember.run.bind docs per #9735
Do not rewrite StringLiteral class attributes.

No need to rewrite `<div class="foo bar">`.  We only need to rewrite if
we come across any non-StringLiteral portions.

This fixes that.
Document the `ember-metal-injected-properties` flag in FEATURES.md
Merge pull request #9788 from rwjblue/htmlbars-string-literal-attributes

Do not rewrite StringLiteral class attributes.
Merge pull request #9789 from csand/doc-injected-property-feature-flag

Document the `ember-metal-injected-properties` flag in FEATURES.md
Merge pull request #9720 from oneeman/refactor_listeners

Replace listenersDiff and listenersUnion with accumulateListeners
Ignore TextNode's in quoted class AST transform.

`TextNode`'s only occur when the attribute has a single non-dynamic
value.
Merge pull request #9800 from rwjblue/htmlbars-ignore-textnodes

Ignore TextNode's in quoted class AST transform.
Cleanup repeated `ember-testing` test setup

Extracts Ember Test Helper setup into `setup` blocks. Rearranges
tests to better leverage `Qunit.module` setup.

Extracts repeated calls to

```js
run(function() {
  App = EmberApplication.create();
  App.setupForTesting();

  App.injectTestHelpers();
});
```