fix($compile): ensure isolated local watches' lastValue is always in sync

When using two-way binding with isolate scope, under some circumstances
the lastValue variable captured in the parentValueWatch function can get
out of sync.

Specifically, if both the value in the origin scope as well as the value
in the isolate scope get independently updated to the same value within
one digest cycle, the lastValue is never updated. This potentially causes
the watch to make the wrong decision as to which side to update on subsequent
passes.

This fixes things by ensuring lastValue is always set to the last seen
value even if the watch's logic was short circuited because there was no
difference between the values in the original and isolate scopes.

Closes #5182
fix($rootScope): clear phase if an exception is raised by a watcher

Add calls to clearPhase() when an exception is raised by a watcher
while a digest cycle, in order to not be stuck on `$digest` scope phase
docs(animate.js): fix copy/paste typo in leave docs

fix the copy/paste typo within $animate.leave method inside of the $animate docs.
fix(closure): closure compiler shouldn't rename .defaults.transformRequest
docs(tutorial/step-12): fix refernce to incorrect jquery version

Closes #5156
chore(closure): add `$routeProvider#redirectTo` function parameters

Closes #5173
docs(input): remove deprecated isolated scope pitfall

The 1.2 release fixed the documented pitfall at 909cabd36d779598763cc358979ecd85bb40d4d7
by isolating only the isolated directive's scope.

Closes #5179
docs(tutorial/step-3): add module to `ng-app` directive in code sample

Closes #5184
docs($interpolate): demonstrate a filter in the interpolated expression

Closes #5186
fix($rootScope): broadcast $destroy event on $rootScope

Fixes #5169
fix($animate): ensure ms durations are properly rounded

Closes #5113
Closes #5162
fix(input): ensure ngModelWatch() triggers second digest pass when appropriate

Due to an earlier change, ngModelWatch() no longer returns a value to the
caller. This means the digest loop has no way to tell if the watch actually
modified anything and so can not schedule another pass.

This means any watches that watch form or model controller changes
(e.g. watches on form.$valid) that are scheduled prior to an ngModelWatch()
will not be able to see any changes made therin.

This commit fixes this behavior by returning the latest evaluated ng-model
value.

Closes #5258
Closes #5282
chore(travis): move checks from before_scripts to scripts

If jshint (or any other ci-check) fails, Travis marks the build as "Errored" which I don't think is desider:
https://travis-ci.org/angular/angular.js/builds/14938896
fix(ngInit): evaluate ngInit before ngInclude

The priority of ngInit is adjusted to occur before ngInclude, and after
ngController. This enables ngInit to initiallize values in a controller's
scope, and also to initiallize values before ngInclude executes.

Closes #5167
Closes #5208
fix($animate): ensure animations work with directives that share a transclusion

Closes #4716
Closes #4871
Closes #5021
Closes #5278
docs(TRIAGING): Initial doc about triaging issues in Angular
docs(tutorial/step-2): remember to install karma plugins
docs(tutorial/step-3): remember to install karma plugins
docs(tutorial/step-6): remove unused `class="diagram"`

Closes #5197
chore(Scope): short-circuit after dirty-checking last dirty watcher

Stop dirty-checking during $digest after the last dirty watcher has been re-checked.

This prevents unneeded re-checking of the remaining watchers (They were already
checked in the previous iteration), bringing a substantial performance improvement
to the average case run time of $digest.

Closes #5272
Closes #5287