chore(ngAnimate): ensure elapsedTime values are in seconds and millseconds
feat($sniffer): add flag for msie
fix($animate): ensure the active class is not applied if cancelled during reflow

Closes #4699
fix($animate): ensure staggering animations understand multiple delay values
fix($animate): avoid hanging animations if the active CSS transition class is missing

Closes #4732
Closes #4490
feat($animate): ensure CSS transitions can work with inherited CSS class definitions

BREAKING CHANGE

ngAnimate addClass / removeClass animations are now applied right away. This means
that as soon as the animation starts the class will be added (addClass) or removed
(removeClass) to the element being animated instead of after the -add-active /
-remove-active animations are completed. This allows for animations outside of
ngAnimate to not conflict with $animate.