fix(Dart1.8): fix analyzer warnings
fix(Dart1.8): Promise handling
fix(example): correct markup in the hello world example
fix(compiler): always wrap views into an own `<template>` element

This is needed to allow view instantiation also in browsers that
don’t support the `<template>` element and because of this would
return elements from the content of `<template>` elements when
using `element.querySelectorAll`.

Also stores the `elementBinder.nestedProtoView` correctly
when a template directive was used on a `<template>` element.
fix(compiler): allow identifiers with `-` in the template bindings as keys.
feat(viewport): add initial integration test for template directives
feat(Change Detection): Add support for keyed access
perf(Change Detection): Remove a useless test

Only "implicit receiver" records get their context updated (since #239)
feat(Change Detector): Add support for collection content watch
feat(transpiler): Transform for..of to Dart as for..in

fixes #53
perf(ProtoRecord): remove the unused prev field
perf(ProtoRecordRange): re-use a ProtoRecordCreator
feat(examples): adds static dart hello world example.

Use gulp examples/pub.serve to start up the server and go to
http://localhost:8080/index_static.html to see the static app.
fix(record-range): fixes bug when disabling empty ranges.
feat(change_detector): notify directives on property changes
perf(change_detection): add baseline to change detection benchmark
chore(gulp): Skip Dart tasks when the SDK is not detected

fixes #268
style: fix typos
docs(di/src/annotations): use triple backticks to code-fence code blocks
chore(docs): initial dgeni docs generation

Closes #261