feat($compile/ngBind): don't add binding info if not enabled

The compiler and ngBind directives add binding information (`ng-binding`
CSS class and `$binding` data object) to elements when they are bound to
the scope. This is only to aid testing and debugging for tools such as
Protractor and Batarang. In production this is unneccesary and add a
performance penalty.

This change disables adding this binding information by default. You can
enable it by calling `$compilerProvider.enableBindingInfo()` in a module
`config()` block.

BREAKING CHANGE:

The `ng-binding` CSS class and the `$binding` data object are no longer
attached to DOM elements that have a binding to the scope, by default.
If you relied on this feature then you can re-enable it in one of your
application modules:

```
someModule.config(['$compileProvider', function($compileProvider) {
  $compileProvider.enableBindingInfo();
}]);
```
in a separate commit: we should change this so that the interpolateFn itself doesn't get stored in the binding metadata, just the info about the interpolated expression.

in some of the memory profiles, I've seen that one time bindings retained a lot of memory needlesly because of $binding object retaining interpolateFn which retained a whole lot of stuff.