feature(directive_injector): add View to DirectiveInjector

Some directives require access to the current view. Add the view field to the DirectiveInjector class, so it can be injected.
feat(components): add support for multiple insertion points for transcluding components

Add implementations of the light dom and the content tag to support multiple insertion points for transcluding components.

Closes #1290
chore: update pubspec.lock
fix(application): set injector property when bootstraping the app

Closes #1391
fix(travis): BUILD_LEADER is not available in build.sh

Replace with check that TRAVIS_JOB_NUMBER ends at .1.

Closes #1362

Closes #1393
feat(directive-injector): detect and throw on circular deps

The maximum depth for depth for dependency construction within a single
injector is set to 50.

No performance degradation observed on tree benchmark.

Closes #1364
fix(mock): Fix unitialized variable in MockWindow.
test(watchGroup): fix incorrect expectations

watchGrp.detectChanges() returns the number of changes and as such can
never be null
fix(directive-injector): wrong variable name in error thrown.

Add proper type annotation that would have caught the typo.

Closes #1397
feat(scripts): pick-pr

Closes #1394
fix(perf_api): updgrade the pkg minimum version to fix an analyzer error

fixes #1407

perf_api 0.0.8 contains an invalid const constructor which the type
checker ignored in dart 1.5.8 but throws on in 1.6. Using 0.0.9 fixes
this.

Closes #1408
feat(directive injector): DiCircularDependencyError -> _CircularDependencyError

And make _CircularDependencyError extends CircularDependencyError
so that catching CircularDependencyError catches any circular dep
error

Closes #1399
chore: update pubspec.lock
doc(pick-pr): Remove an obsolete comment
Revert "chore: update pubspec.lock"

This reverts commit a157cb2b6af63f3897692aa6a85e6ce0a15de948.

This commit did not pass Travis.
feat(directives): remove the @Controller directive

Completely remove the deprecated Controller directive.

Major update to the demos to use setRootContext (where applicable) and
to move to Components for the beefier demos (bouncing balls and form).

A temporary work around was required in demos (animation and todo)
so that rootContext have Map interface. The work arounds will disappear
after the context is set to the component.

Library changes were pulled out of the first commit in #1269.

Closes #1401
feat(scope): move domWrite and domRead from RootScope to Scope

Closes #1161

Closes #1341
chore(package.json): require newer karma-dart

This is needed for PR 1375.
fix: remove analyze warnings

Closes #1411
refactor: misc cleanup

Closes #1395