docs(angular.bootstrap): clarify modules parameter

It was not clear what you could pass to specify modules to load in the
`module` parameter of this function. The `modules` parameter takes an
array.

The main case is to provide a String, which is the name of a "predefined"
angular module.
The side cases are to provide a Function (or an annotated function in the
form of an Array), which will be invoked by the injector as a run block.

It is not possible to "define" new modules via this parameter.

Closes #3692
docs(css_styling_guide): add ng-scope and ng-binding classes

I noticed angular was adding these css classes to elements and believe they
should be listed in the documentation at this page. The ng-scope class is
mentioned in the developer guide, hence the link there, and the ng-binding
class is not mentioned anywhere else in the documentation or the guide that
I found.

Closes #3728
docs(booleanAttrs): improve parameter docs for boolean attributes

Closes #3724
docs(tutorial): clarify use of inject() in step 9

Closes #3718
docs(tutorial): fix markup for tutorial_04.png diagram
docs(tutorial): fix markup for tutorial_03.png diagram

Closes #3707
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
feat($location): add support for state and title in pushState

Adds $location pushState & replaceState methods acting as proxies to history
pushState & replaceState methods. This allows using pushState to change state
and title as well as URL. Note that these methods are not compatible with
browsers not supporting the HTML5 History API, namely IE<10.