fix(mock): Timer.isActive should be false after running callback

For non-periodic timers, isActive should be false after running the timer function.

https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart-async.Timer#id_isActive
feat(router): added vetoable preLeave event

BREAKING CHANGE

Previously, vetoing was allowed on leave (RouteLeaveEvent) which caused
issues because routes had no way to recover from other route vetoing a leave
event.

Now, similar to preEnter and enter, leave event was split into vetoable
preLeave (RoutePreLeaveEvent) and non-vetoable leave (RouteLeaveEvent).

    views.configure({
      'foo': ngRoute(
          path: '/foo',
          preLeave: (RoutePreLeaveEvent e) {
            e.allowLeave(new Future.value(false));
          })
    });

Closes #1070
feat(testability): findBindings and findModels should descend into the ShadowDOM

Note that this won't work for you unless you have a chromedriver build
that works with the shadow DOM.
fix(tests): disable shadowDom in examples until chromedriver support is available
reflactor(parser): rename parser_static and parser_dynamic into static_closure_map and dynamic_closure_map

Closes #1250
refactor(compiler): remove WalkingCompiler and WalkingViewFactory
refactor(compiler): rename TaggingCompiler into Compiler and TaggingViewFactory into ViewFactory

Remove Compiler and ViewFactory interfaces because they have only one implementation each.

Closes #1333
test(compiler): rename forBothCompilers to withElementProbeConfig
feat(WTF): Add support for WTF

1) Install https://chrome.google.com/webstore/detail/web-tracing-framework/gmdhhnlkjmknaopofnadmoamhmnlicme
2) Enjoy the visibility

Closes #1354
chore(pubspec): bump min route_hierarchical to 0.4.22
perf(WTF): extracted scopes to separate file, add documentation

Closes #1361
fix(HttpConfig): Remove the optional argument to the default ctor

Because this is not currently supported by the Dependency injection.
A new HttpConfig.withOptions() ctor has been added.

Closes #1285
fix(http): always initialize final coalesceDuration

fix a warning
feat(ScopeAware): introduce ScopeAware abstract class

Components that implement the ScopeAware scope setter, will get scope
set during compilation.

Currently, there is little incentive to use this, because Scope can be
injected in the Components. However, after PR/1269 Scope would not be
injectable and this would be the only way for components to obtain
scope.

Introducing this API earlier allows for clients to start using it and
not break when PR/1269 lands.

Closes #1360
doc(watch_group): Fix comments

To sync with 3de00bd4902d20137dad0b551312eceb9a599d98
style(zone): remove blank line

Removes diff between g3v1x and master.
style(transcluding_component_factory): remove duplicate line from merge resolution
feat(routing): add support for dontLeaveOnParamChanges

Fixes #1252
Closes #1254
chore(wtf): change constant expression used for AttachAware

This creates better information for WTF tracing.
test(angular_spec): sort symbols and remove duplicates

We end up with duplicate entries (e.g.
angular.formatter_internal.FormatterModule) with a large unsorted list. 
Sort the list of symbols and remove duplicates.