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(transpiler): Removed logic from ForOfTransformer since it's not really needed.  The DestructuringTransformer automatically handles the required destructuring logic.  We just need to convert it to a for-in for Dart.
Merge remote-tracking branch 'upstream/master' into for_of_transform

* upstream/master:
  feat(viewport): add initial integration test for template directives
  fix(compiler): allow identifiers with `-` in the template bindings as keys.
  fix(compiler): always wrap views into an own `<template>` element
  fix(example): correct markup in the hello world example
  fix(Dart1.8): Promise handling
  fix(Dart1.8): fix analyzer warnings