style: some code cleanup

Dart coding convention
Add explicit types
Some refactoring
feat(Template): @Template replaces @Decorator(Directive.TRANSCLUDE_CHILDREN)

1- Transclusion syntax has changed:

Before:

    @Decorator(
        selector: '[ng-if]',
        children: Directive.TRANSCLUDE_CHILDREN,
        map: const {'.': 'mapping'},
        <other kv pairs>)

After:

    @Template(
        selector: '[ng-if]',
        map: const {'ng-if' : 'mapping'},
        <other kv pairs>)

2- Directive.children has been removed in favor of
Directive.compileChildren

Before:

    children: Directive.COMPILE_CHILDREN
    children: Directive.IGNORE_CHILDREN
    children: Directive.TRANSCLUDE_CHILDREN

After:

    compileChildren: true
    compileChildren: false
    Use @Template (see the previous section)

Closes #1003
feat(animation): add animationsAllowed property to AnimationOptimizer

This adds support for Protractor to run tests against production
servers with animations turned off.

Refer to
https://github.com/angular/protractor/commit/f23565d5db4fbb102cfec8311ce9dfaee52e9113
for usage.

Closes #1112