Graft component-local state in to global state.

Enables state capture/restore of component local state.
Exclude disposable non-values from app state.

core.async channels, goog.events listeners, etc are not readable
and require cleanup. Storing them in app state breaks state saving.
Integrate grafted local state with instrumentation
Close over construction of Om descriptors (perf).
Fix flaky test by hacking bad cleanup code.

Proper fix forthcoming with other Om-state cleanup.
Pass reinstall-om! as a callback to break cyclic-dependency.
Merge commit '25a2b735dd47de1fd11a7578fef8712cbb1fe1fd'