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
WIP: remove; use dev karma