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.
feat(testability): implement the testability for ProtractorDart

See https://pub.dartlang.org/packages/protractor
fix(introspection): work around http://dartbug.com/17752
test(e2e): add end-to-end tests using ProtractorDart

https://pub.dartlang.org/packages/protractor
chore(scripts): fix detection of DART_SDK/DART/DARTIUM

Sets the stage to get rid of obsolete DARTSDK.
chore(pubspec): require newer protractor to support dart 1.6.0-dev.0.0
test(introspection): work around issue 1219

Ref: #1219
chore(e2e): disable slow tests

- Increase timeout for tests.
- Disable 2 slow tests that typically time out on Travis with Sauce.
chore(pubspec): Upgrade to DI 1.2.1
fix(directive): Support multiple directives with same selector.
chore(pubspec): Upgrade to DI 1.2.2
Revert "refactor(ng-repeat): refactor the fix for #1015"

This reverts commit f6187aeb68ac5e7506a387557b713494ef23c726.

This is only reverted because it is not yet in g3v1x.
chore(shadowless): remove noSuchMethod which improves dart2js size by about 100k
fix(benchmark): incorrect mirrors import
perf(cd): fewer string concatenations (10% improvement)
chore(di): Update the Module.bind(toFactory) to the new DI 2.0.0 format
chore(pubspec): Upgrade DI to 1.2.3.
feat(compiler): Backport DirectiveBinder API from #1178 to allow
gradual migration.

Originally authored by @yjbanov
fix(expression extractor): Do not use implicit DI
chore: remove empty file