fix($location): re-assign location after BFCache back

In the Android browser, the BFCache maintains
the state of JavaScript applications even when
navigating to another app, so that going
forward and back, to and from an application
is very fast.

Unfortunately, this can have undesired side
effects. In this instance, the location
variable was holding a reference to a stale
window.location, and was throwing errors
when going back to an Angular app after
browsing to another site.

This fix makes sure that location.url()
includes a check to make sure that location
is referencing the current window.location.

Closes #4044
docs(tutorial/step0): fix minor typo

Closes #4154
docs($http): update grammar in comments

Closes #4186
Merge branch 'master' of https://github.com/angular/angular.js
componentizd!