feat(scope): Use Zone to auto digest scope at the end of each turn.
Revert "feat(parser): Do not eat NoSuchMethod errors in getters"

This reverts commit c11cd339cd964b76b97259f658cb649f0c8c94ac.

Inspecting the exception message does not work in dart2js.
fix(parser): Replace a try/catch with 'value is Map' for performance.
fix(interface_typing): Work around new dartbug
test(parser): Commented out a misguided test
fix(zones): Remove a stack trace for greater performance.
chore(genDocs): create docs generation script
feat(component): Support expressions and mapping to controllers

@NgComponent(
    template: r'<content></content>',
    publishAs: 'ctrl',
    map: const {
        'attr': '@ctrl.attr',
        'expr': '=ctrl.expr',
        'ondone': '&ctrl.onDone',
        'onOptional': '&ctrl.onOptional'
    }
)
class IoControllerComponent {
  Scope scope;
  var attr;
  var expr;
  var onDone;
  var onOptional;
  IoControllerComponent(Scope scope) {
    this.scope = scope;
    scope.$root.ioComponent = this;
  }
}
refactor(directive): move selector to common root.
chore(selector): remove unused API for startWith
fixe(genDocs): exécutable permissions
chore(test): move test only code into test.
feat(selector): support complex selectors on element
feat(ngModel): input directives are broker up by type.
fix(zone): remove dump from spec
docs(NgComponent): document component meta-data
feat(component): call attacch()/detach() method during component life-cycle
doc(NgDirective): added selector, visibility
chore(tests): Clean up an old run-specs scheme.