docs(ngInit): add note on best practices
refactor($animate): avoid checking for transition/animation support during each animation
fix($animate): ensure elapsedTime always considers delay values
fix($animate): cancel any ongoing child animations during move and leave animations
refactor($animate): queue all successive animations to use only one reflow
fix($animate): ensure structural animations skip all child animations even if no animation is present during compile

Closes #3215
chore(ngdocs): improve the side search animation effects
fix($animate): perform internal caching on getComputedStyle to boost the performance of CSS3 transitions/animations

Closes #4011
Closes #4124
docs(guide/controller): use `.controller` syntax

Use the recommended `module.controller` syntax rather than global
functions to define controllers in the examples.
docs(guide/controller): improve guidance and examples

Remove mention of global controller functions
Convert larger examples to runnable demos
Remove mention of pre-1.0 controllers, in particular discussion of
controller inheritance.

TODO: Probably could do with updating to explain the "controller as" syntax
at some point.

Closes: #4373
docs(ngAnimate): fix link to ngClass page

Link was set to ngShow and it should be set to ngClass.
docs(ngAnimate): fix typos

Closes #4375
chore(npm): grunt-contrib-jasmine-node changed name
chore(grunt): grunt-jasmine-node uses different config
chore($compile): remove dead code
style: strip white space from files
fix($compile): abort compilation when duplicate element transclusion

Issue an error and abort compilation when two directives that ask for transclusion are found
on a single element. This configuration is not supported and we previously failed to issue
the error because in the case of element transclusion the compilation is re-started and this
caused the compilation context to be lost.

The ngRepeat directive has been special-cased to bypass this warning because it knows how to
handle this scenario internally.

This is not an ideal solution to the problem of multiple transclusions per element, we are
hoping to have this configuration supported by the compiler in the future. See #4357.

Closes #3893
Closes #4217
Closes #3307
WIP: mess with priorities
WIP: make directive order deterministic for directives with same priority
WIP: consider registration index in byPriority comparator