fix(NodeAttrs): lazy init of observer listeners
style(events): code cleanup
chore(CONTRIBUTING): explain how to squash and copyedit

- Explain how to squash multiple commits.
- Copyedit.

Closes #740
fix(tagging compiler): Empty transclusions
fix(tagging compiler): Transclusions with an existing ElementBinder
chore(dom): toString for debugging
fix(tagging compiler): Sibling templates
refactor(forms): use errorStates and warningStates

Closes #736
Closes #706
Fixes #724
chore(tests): remove inject() calls
chore(docs): Add head SHA to docviewer footer
chore(docs): Change Travis scripts to build using dev to get latest docviewer

Closes #743
fix(tagging compiler): ancestor injectables

Conflicts:
	lib/core_dom/tagging_compiler.dart
chore(core_dom): delete resurrected block_factory.dart
fix: fix deprecation warnings
chore(docs): Clean up package list in left nav

Closes #743