fix($location): re-assign history after BFCache back on Android browser

Closes #5425
fix(input): prevent double $digest when using jQuery trigger.

If an event was performed natively, jQuery sets the isTrigger property.
When triggering event manually, the field is not present. Manually
triggered events are performed synchronously which causes the "$digest
already in progress" error.

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