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
fix(jquery): Deprecate renderedText() in favour of JQuery.textWithShadow()
fix(tagging compiler): a text child after a directive child
test(ng-class): Make the ng-class tests compiler agnostic

A better place for this logic may be JQuery.
See #759
feat(compiler): Make the TaggingCompiler the default compiler
chore(pubspec.lock): upgraded route_hierarchical to 0.4.15