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
chore(travis): install dart before "npm install"

This simplifies a later commit which will allow us to bail out earlier.
chore(travis): fix failures for g3stable/g3v1x. bail early.

- bail early when we can.
- g3v1x requires a newer version of Dart than 1.5.8.  Quickly mark the
  job as successful if we're testing something that's descended from the
  g3v1x branch and we're attempting to use the SDK at this version.
- the g3stable jobs do not make sense if one is testing a branch
  descended from g3v1x.  Bail early with success for those jobs.
chore(travis): download the dart zips in parallel
chore(travis): skip tests for dart 1.5.8 and use_g3=yes or g3v1x
chore(pubspec): update lockfile
chore(pubspec): minimum route_hierarchical required is v0.4.22
test(compiler): Break the bind- tests into smaller tests
fix(directive-injector): breaking changes and fixes

BREAKING CHANGE:

Regular injectors (aka application injectors) can no longer be used to
retrieve DirectiveInjectors.  The compiler creates the Directive
Injector as part of view creation process.

DEPRECATION:
- DirectiveInjector's parent accessor is now private.  (The typically
  lookup chain as used by the Application Injectors doesn't work for
  Directive Injectors and it's probably wrong for application code to
  access the parent but see the next point.)
- There's a new public method on the DirectiveInjector - `parentGet`.
  With parentGet, you can request types from the parent injector.  Since
  DirectiveInjector.parent is private, you would rewrite
  `injector.parent.get(...)` → `injector.parentGet(...)`.

TestBed does not need DI in its constructor.

INTERNAL CHANGES:
- Application Injector reference is passed through view creation into
  the new Directive Injector (instead of using
  parentInjector.appInjector, which is wrong when used with ng-view).
- Unwind recursion from the directive injector for performance.
- Remove EventListener from View.
- Replace DefaultDirectiveInjector with a DirectiveInjector that has no
  parent.
- Component visibility handled outside the visibility enum.
- Removed Shadowless and ShadowDirectiveInjector subclasses.

Prepares for a future change in which ComponentInjectors break the
resolution chain unless called directly.

Closes #1111
fix(transformer): Don't share resolvers between parallel transformers as this will cause a deadlock

Fixes #1276
Closes #1382
chore(release): v0.14.0

Closes #1380
test(compiler): Components should not pass null to inner directives.