WIP - add testability on top of binding info changes

    feat(testability): add $testability service

    The $testability service is a collection of methods for use when debugging
    or by automated testing tools. It is available globally through the function
    `angular.getTestability`.
    For reference, see the Angular.Dart version at
    https://github.com/angular/angular.dart/pull/1191

Other notes:

This will still require a new version of Protractor to check for the testability service and defer to that when running client side scripts. I'm happy with any combination of using this + the protractor change + the binding info change. I believe the only way to never break stuff would be
 - Release a new version of protractor that checks for the $testability service and defers to it if present
 - (optionally merge a version of this that works with the old binding info)
 - merge this and the new binding info