[FEATURE ember-htmlbars-attribute-syntax] HTMLBars attributes syntax

No longer a WIP! This implements attributes according to the [rfc](https://github.com/emberjs/rfcs/pull/24).

TODO:

* [x] Sanity check
* [x] Port `bind-attr`, maybe general attribute bindings over to use descriptors
* [x] Is the name "descriptor" dumb? (yes)
* [x] Refactor toward prop-first, and boolean attrs that Just Work
* [x] Put new APIs behind FFh
* [x] Support for SVG attributes
* [x] Support for `maxlength` and other varied-reflection attributes
* [x] Support for `class="foo {{baz}}"` where `baz` contains two classes
* [x] Support for `class="foo baz-{{bing}}"`
* [x] Subscribe takes a target
* [x] Assert a scheduled render fails silently when the element is destroyed before render (silent failure tested here, actual unsubscribe in another PR)

And this lays out a plan for some other stuff:

* [x] Update HTMLBars to use `classList`, use it here
* [x] Make `concat` happen in the `lazy` descriptor, since `class` and some others may not want it anyway
* [ ] Port view element attribute bindings to AttrNode
* [x] Assert/complete support for inline `if` inside attribute values
`LegacyBindAttrNode.prototype.render = function render() {` ?