feat($compile): allow $watchCollection to be used in bi-directional bindings

Allow an asterisk to be specified in the binding definition to use `$watchCollection` instead of `$watch`.
```js
scope: {
  prop: '=*'
}
```

This is a follow-up to #3491 but using `$watchCollection` as @IgorMinar [suggested](https://github.com/angular/angular.js/pull/3491#issuecomment-22274279).
ah don't worry too hard about it, we all mess up formatting, even on projects that use clang-format in a git hook!