fix($animate): ensure that a timeStamp is created if not provided by the browser event

Firefox and (sometimes) Opera may not provide a timeStamp value in their event when passed
to the event handler. This may cause animations not to close properly. This fix will automatically
create a timeStamp value for the event in this situation when missing.

Closes #3053
docs(tutorial/step-5): add missing formatting to examples

The indenting doesn't work for code samples that are inside bullet points.

Closes #4403
docs(tutorial/step-04): actually add age property to the code example

Closes #4400
docs(tutorial/step-05): fix incomplete sentence

Closes #4399
docs(booleanAttrs): improve grammar and clarity

Closes #4392
docs(ngNonBindable): improve description

Closes #4391
docs(tutorial/step-07): fix typo

Closes #4390
docs(cookbook/deeplinking): fix typo
docs(guide/directive): improve readability and grammar.

Closes #4386
docs(ngInit): fix typo

Closes #4384
docs(guide/animations): improve wording of sentence

Closes #4405
docs: add missing priority documentation for structural directives
chore(release): cut 1.2.0-rc.3 ferocious-twitch release
feat($location): add support for state and title in pushState

Adds $location pushState & replaceState methods acting as proxies to history
pushState & replaceState methods. This allows using pushState to change state
and title as well as URL. Note that these methods are not compatible with
browsers not supporting the HTML5 History API, namely IE<10.