Deprecate before observers

Also remove usages of public `addBeforeObserver` in ember internals.
Replace listenersDiff and listenersUnion with a single function accumulateListeners; rename parameter
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();
});
```
Prevent warning when using fooBinding with a non-string.
Merge pull request #9803 from rwjblue/htmlbars-silence-warning

Prevent warning when using fooBinding with a non-string.
[BUGFIXE beta] Close #9542 by re-throwing synchronous errors
Merge pull request #9801 from ef4/sync-err

[BUGFIX beta] Re-throw synchronous errors during initial transition
[BUGFIX canary] This fixes the output for not escaping `{{{x}}}`

This version of the fix is for canary, where things have been moved
around a bit. I'll submit a fix for Beta/Release too which is
essentially the same only in a different place.
Merge pull request #9810 from eviltrout/master

[BUGFIX canary] This fixes the output for not escaping `{{{x}}}`
Removes unnecessary resolution
Merge pull request #9815 from twokul/bower-hbs-2

Removes unnecessary resolution
Update tooling for HTMLBars compiler/syntax package split.
Attributes are previously concatted, do not concat again.
Ensure view bindings flush via runloop
Merge pull request #9816 from tomdale/htmlbars-bindings-runloop

[BUGFIX] Ensure view bindings flush via runloop
Move concat into hooks module
Use AST builders in each/with transforms