Cleanup hooks

Minor template tweaks. Nothing breaking. Reorganizes htmlbars-runtime & tests as well.

```hbs
{{#each items as |item index|}}
  Hello {{item.name}}
{{/each}}
```

now generates

```js
(function() {
  var child0 = (function() {
    function build(dom) {
      var el0 = dom.createDocumentFragment();
      var el1 = dom.createTextNode("  Hello ");
      dom.appendChild(el0, el1);
      var el1 = dom.createTextNode("\n");
      dom.appendChild(el0, el1);
      return el0;
    }
    var cachedFragment;
    return function template(context, env, contextualElement, blockArguments) {
      var dom = env.dom;
      var hooks = env.hooks, set = hooks.set, content = hooks.content;
      dom.detectNamespace(contextualElement);
      if (cachedFragment === undefined) {
        cachedFragment = build(dom);
      }
      var fragment = dom.cloneNode(cachedFragment, true);
      var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);
      set(context, "item", blockArguments[0]);
      set(context, "index", blockArguments[1]);
      content(morph0, "item.name", context, [], {}, {morph:morph0}, env);
      return fragment;
    };
  }())
  function build(dom) {
    var el0 = dom.createDocumentFragment();
    var el1 = dom.createTextNode("");
    dom.appendChild(el0, el1);
    var el1 = dom.createTextNode("");
    dom.appendChild(el0, el1);
    return el0;
  }
  var cachedFragment;
  return function template(context, env, contextualElement) {
    var dom = env.dom;
    var hooks = env.hooks, content = hooks.content;
    dom.detectNamespace(contextualElement);
    if (cachedFragment === undefined) {
      cachedFragment = build(dom);
    }
    var fragment = dom.cloneNode(cachedFragment, true);
    dom.repairClonedNode(fragment,[0,1]);
    var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);
    content(morph0, "each", context, ["items"], {}, {paramTypes:["id"],hashTypes:{},render:child0,morph:morph0,blockParams:2}, env);
    return fragment;
  };
}())
```