docs(mock.inject): document underscore wrapping syntax

Add a summary describing the ignored underscore syntax sugar helper,
with a simple use case example.

Closes #3621
refactor($animate): use CSS3 transition/animation events instead of $timeouts to track ongoing animations

Closes #3629
Closes #3874
fix(ngScenario): provide event parameters as object

BREAKING CHANGE: browserTrigger now uses an eventData object instead of direct parameters for mouse events.
To migrate, place the `keys`,`x` and `y` parameters inside of an object and place that as the third parameter
for the browserTrigger function.
fix(ngAnimate): check elapsedTime on current event

onAnimationProgress now checks the event's elapsedTime property before
checking the originalEvent.elapsedTime property.
Use browserTrigger with elapsedTime parameter to trigger animation events
refactor(select): options regexp simplification

\w matches [a-zA-Z0-9_] and \d matches [0-9], using both in a character set is
simply redundant.