feat(Scope): add `$watchGroup` method for observing a set of expressions

Given an array of expressions, if any one expression changes then the listener function fires
with an arrays of old and new values.

$scope.watchGroup([expression1, expression2, expression3], function(newVals, oldVals) {
 // newVals and oldVals are arrays of values corresponding to expression1..3
 ...
});

Port of angular/angular.dart@a3c31ce1dddb4423faa316cb144568f3fc28b1a9
refactor($interpolate): split .parts into .expressions and .separators

BREAKING CHANGE: the function returned by $interpolate
no longer has a `.parts` array set on it.
It has been replaced by two arrays:
* `.expressions`, an array of the expressions in the
  interpolated text. The expressions are parsed with
  $parse, with an extra layer converting them to strings
  when computed
* `.separators`, an array of strings representing the
  separations between interpolations in the text.
  This array is **always** 1 item longer than the
  `.expressions` array for easy merging with it
perf($compile): watch interpolated expressions individually
refactor($interpolate): attempt to remove hacky code due to $interpolation perf improvements
perf($interpolate): speed up interpolation by recreating watchGroup approach

This change undoes the use of watchGroup by code that uses $interpolate, by
moving the optimizations into the $interpolate itself. While this is not ideal,
it means that we are making the existing api faster rather than require people
to use $interpolate differently in order to benefit from the speed improvements.
docs(guide/forms): fix quotes around updateOn that broke ngModelOptions example
docs(tutorial): update step_11.ngdoc

Change toEqual to toEqualData in the test 'should create "phones" model with 2 phones fetched from xhr'
to make test more consistent.

Closes #7182
docs(tutorial): fix typos in examples

The phonecatApp and phonecatAnimations modules have a dot where a semicolon should be at the end of the sentence

Closes #7167
docs(tutorial/step_03): sync markup with angular-phonecat

Update from Bootstrap 2.3 to 3.1 changed "span" to "col" tags

Closes #7172
docs(tutorial): update step_07.ngdoc

Closes #7169
docs(changelog): release notes for 1.3.0-beta.6 expedient-caffeination
docs(guide/controller): fixed spelling of spiciness

Closes #7185
docs(tutorial/step-12): correct file path

Fixed wrong file path:
- angular/angular-animate.js -> angular-animate/angular-animate.js, which meets the code in app/index.html

Closes #7168