* enable legacy hydrate tests, update test harness to support legacy widgets
* enable autokey for tests, update expectations, add better html diff output
* update test harness to register statically discovered components
* return to using a single mount function for legacy and modern components
* remove lasso from test package dependencies
* add all renders to the renderedCache, track instances separately
* temporarily skip failing hydrate test for widget types
* update widget lifecycle tracker to work with hydrate test as well
* update tests/expectations to use serialize globals: onCreate should be called when hydrating stateful components
* preserve included renderbodies
* update legacy renderbodies to use the new method of preservations
* mount components in preserved renderbodies
* stateful components should rerender when mounting, not all legacy components are split components
* ensure elements with events in split components have thier keys serialized
* call onCreate and onInput when mounting root rerender components
* fix code supporting once-* causing all events (on-* included) for hydrated split components to be handled only once
* change the way input is removed from legacy components
* expose component id in metadata and require components to be registered (no dynamic loading that is coupled to lasso)
* add init/hyrdrate/boot code as a template dependency. lasso specific atm.
* decouple metadata from lasso and make it just data (not AST nodes)
* add semicolon
* update compile test snapshots
* fix regression related to initializing components from getRenderedWidgets
* don't fail on writeToDisk
* don't use Object.values
* fix deprecated page tests
* support node 4/6
* fix tests