fix($animate): avoid accidentally matching substrings when resolving the presence of className tokens
fix($animate): correctly detect and handle CSS transition changes during class addition and removal

When a CSS class containing transition code is added to an element then an animation should kick off.
ngAnimate doesn't do this. It only respects transition styles that are already present on the element
or on the setup class (but not the addClass animation).
fix($animate): prevent race conditions for class-based animations when animating on the same CSS class

Closes #5588
chore($animate): remove useless and expired test
fix($animate): ensure the final closing timeout respects staggering animations
feat($animate): use requestAnimationFrame instead of a timeout to issue a reflow

Closes #4278
Closes #4225
feat($animate): provide support for DOM callbacks
chore($animate): remove Moz statements from requestAnimationFrame
fix(ngMock): ensure ngAnimate isn't a required mock
docs(changelog): release notes for 1.2.9
chore(release): cut v1.2.9 release
chore(release): start v1.2.10 (1.2.10)
chore(release): update cdn version
docs(guide/directive): rephrase for consistency

- referring to `=attr` rather than `=prop` is consistent with note under example with =customerInfo
- change `prop` to `attr` (basically `prop` refers to property in JS object, `attr` is for HTML tag)
- change the function name in description to match the name in code example

Closes #5786
docs(README): fix typo

Closes #5813
docs(ngShowHide): make a note of values considered to be falsy

This issue has been a focus of problems for some users and we discussed it on the IRC that it should
be at least documented.

~Amended the style to use bootstrap notes, I think overall it looks better and catches the eyes more
easily. However there are no anchor links to these, if these are necessary they can be added later.

Closes #3436
Closes #5762
docs(concepts): fix typos in explanation

Code uses module names with '2' as suffix while the explanation used the module names without the
suffix. The diagram is correct but also does not suffix the module names.

Closes #5567