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
wip ng-repeat