feat(WTF): Add support for WTF

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

Closes #1354
perf(view): increase view instantiation speed 40%

1) Stop using futures when the value is already cached
2) Remove adding nodes to fake parent during view instantiation

Closes #1358
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(dom_util): loosen typing of nodes list

Closes #1359
refactor(template_cache_generator): minor change: extract function
doc(watch_group): Fix comments

To sync with 3de00bd4902d20137dad0b551312eceb9a599d98
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(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.
chore(pubspec): update pubspec.lock for examples
perf(WTF): extracted scopes to separate file, add documentation

Closes #1361
feat(routing): add support for dontLeaveOnParamChanges

Fixes #1252
Closes #1254
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
fix(http): always initialize final coalesceDuration

fix a warning
style(ng_tracing_scopes): remove blank line

This removes a diff with g3v1x.
chore(wtf): change constant expression used for AttachAware

This creates better information for WTF tracing.
test(angular_spec): remove duplicate symbol test

This was added twice: in commit 7c9a7585f265bcba88e05fa41f3b6a4698633460
and commit ddd9e4147c0c88a374345bf8b32df6cf57740ac4.
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.
Revert "perf(view): increase view instantiation speed 40%"

This reverts commit f20eab214e78346f9add602c6c39760c83f838e0 as it
breaks some applications.  We need to write test cases for the failures
and do one or both of: (1) fixup the PR 1358, (2) specify the breaking
changes so that applications can be upgraded.
Revert "fix(ElementBinderBuilder): throw if multiple transcluding directives per node"

This reverts commit 02a5079e2c42741a525094ac2350a2630a4c7a4a.

I'm reverting this temporarily to give folks some time to fix their
applications.  This commit unconditionally throws an exception without a
deprecation path.  Though incorrect, it turns out that for common cases,
using both ng-if and ng-repeat on the same directive would just work.
chore(travis): remove unused FF_TAR and CHROME_DEB