perf(view factory): Remove a try-catch and a timer for the critical path

This saves 4% (50ms) in the TreeComponent benchmark.
perf(view factory): Remove try-finally from ElementBinder._link

This saves 9% of the runtime in the TreeComponent benchmark.
perf(watch group): Do not use List.map for tiny lists
perf(view factory): Compute DI Keys ahead of time

4% improvement in TreeComponent benchmark

For #1081

Closes #1085
fix(element binder): fix memory leak with expando value holding onto node

Expando keys are weak references but the values are not.  The
ElementProbe value holds strong references to the node and the injector
keep it from being garbage collected.
fix(transcluding component factory): allow removing components that have no content to transclude
feat(ng-base-css): useNgBaseCss Component annotation field.

Introduces a useNgBaseCss field in the ```@Component``` annotation.

It defaults to true, but when set to false, the component will not
load any base CSS files.  For components that do not rely on base
CSS, loading a global CSS file can be a significant performance issue.

Best practices say that large global CSS files are an anti-pattern for
shadow DOM based apps.  ng-base-css allows apps to use this anti-pattern
to support legacy app design.

The useNgBaseCss field allows app developers to transition to
per-component styles and reap the performance benefits immediately.
chore(tests): Disable tests due to dartbug.com/19177
benchmark(tree): Add the TreeComponent benchmark.

This benchmark exercises component creatation.
perf: Use precomputed keys with injector for performance reasons.

Closes #1081
test(_specs): Add types, follow coding conventions
test(_specs_spec): remove tests that belong to guinness
fix(Http): Fix NoSuchMethodError in Http when cache set to true and
update documentation about cache usage.

Closes #1066
fix(Http): Auxiliary methods like get, put, post, etc. do not set type restriction on data being sent.

Fixes #1051
refactor(ng-repeat): refactor the fix for #1015
doc(dccd): Improve the API doc
refactor(dccd): code cleanup
fix(dccd): fix removals reporting

closes #1097
fix(examples): do not use shadow DOM

This is in preparation for implementing the Testability API and Protractor
end-to-end tests since chromedriver can't handle shadowDom references.
feat(animate): animationsAllowed property to turn off all animations

This is required for writing end-to-end tests against AngularDart apps
that use animations.  In such tests, you typically want to test the
functionality of the application and not necessarily deal with the
animations.  This allows you to turn off all animations in your
production site under test.

The Animate class has a new property, animationsAllowed, which can be
set to false to disable all animations.  When true (the default),
whether or not animations occur depend on the animation module installed
and the AnimationOptimizer.