feat(views): adds (de)hydration of views and template vars.

Dehydrated views are views that are structurally fixed, but their
directive instances and viewports are purged.

Support for local bindings is added to the view.
fix(Change Detection): fix merge error
chore(build): replace deprecated gulp-rimraf by node del

see
https://github.com/gulpjs/gulp/blob/0bb073de4418200e95bd56e0e06ac9d5fc5723b2/docs/recipes
/delete-files-folder.md
chore(gulp): don't run pub get in parallel to avoid a race condition
refactor(build): simplify and modularize

simplify:
- use same html file for dart and JS
- build benchmarks automatically when doing `gulp build`
- centralize configuration

modularize:
- move all build tasks into separate node.js modules under
  `tools/build`.

changes:
- the `build` folder is now the `dist` folder

Closes #284
fix(view): fix DirectivePropertyGroupMemento to return a new group instead of null
cleanup(view): remove unused code
chore(docs): fix docs/watch task name
chore(docs): add code prettification

Closes #285
chore(docs): refactor traceur usage
fix(change_detector): adding new ranges when disabling the current enabled record
refactor(change_detector): moves enableRecord/disableRecord into the Record class
fix(build): `gulp build.js.prod` should call `benchpress.js.prod`
feat(compiler): allow recursive components
fix(application): also bind the root component to the injector
fix(core): export ViewPort in the public exports
fix(build): analyze examples and benchmarks again
fix(benchmarks): use explicit `main()` function and do not reexport

Otherwise `pub` would not pick it up e.g. for `dart2js`.
fix(benchmarks_external): use angular dart transformer
feat(benchmarks): initial version of tree benchmark

Closes #269