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
docs(changelog): release notes for 1.2.0-rc.3
chore(release): start 1.2.0 iteration
fix($parse): check function call context to be safe

Closes #4417
docs($rootScope): better document infinite digest and ttl
fix($injector): allow a constructor function to return a function

This change makes `$injector.instantiate` (and thus `$provide.service`) to behave the same as native
`new` operator.
chore(docs): generate header ids for better linking

- generate ids for all headers
- collect defined anchors
- check broken links (even if the page exists, but the anchor/id does not)
docs: correct broken links

This also contains some whitespace corrections by my editor.