perf($interpolate): optimize value stringification

previously we stringified numbers via toJson which was expensive, I optimized
the code so that toJson is invoked only if really necessary

Closes #7501
docs(guide): correct order of directive arguments within the animations chapter

Closes #7482
chore(travis): use SauceConnect v4

See https://saucelabs.com/docs/connect
chore(travis): use latest selenium on SL
chore(travis/e2e): update Chrome to v34

See 28ef2637c111d2940d2062c3cc8be29e7984f35a
chore(travis/e2e): use Chrome on Mac

Because of this[1] issue, which is Linux specific, we see very frequent failures.

[1]: https://code.google.com/p/chromedriver/issues/detail?id=467
docs(tutorial): fixed path to controllersSpec.js file

☆.。.：*・゜☆ DOMO ARIGATO MR ROBOTO ☆.。.：*・゜☆

Closes #7504
revert: fix($compile): pass transcludeFn down to nested transclude directives

This reverts commit 113850602de2f8bc396df4ffd54bb0f1be565b17.

This change introduced regressions for several scenarios.

reduction: http://jsfiddle.net/5242N/4/
feat($interpolate): escaped interpolation expressions

This CL enables interpolation expressions to be escaped, by prefixing each character of their
start/end markers with a REVERSE SOLIDUS U+005C, and to render the escaped expression as a
regular interpolation expression.

Example:

`<span ng-init="foo='Hello'">{{foo}}, \\{\\{World!\\}\\}</span>` would be rendered as:
`<span ng-init="foo='Hello'">Hello, {{World!}}</span>`

This will also work with custom interpolation markers, for example:

     module.
       config(function($interpolateProvider) {
         $interpolateProvider.startSymbol('\\\\');
         $interpolateProvider.endSymbol('//');
       }).
       run(function($interpolate) {
         // Will alert with "hello\\bar//":
         alert($interpolate('\\\\foo//\\\\\\\\bar\\/\\/')({foo: "hello", bar: "world"}));
       });

This change effectively only changes the rendering of these escaped markers, because they are
not context-aware, and are incapable of preventing nested expressions within those escaped
markers from being evaluated.

Therefore, backends are encouraged to ensure that when escaping expressions for security
reasons, every single instance of a start or end marker have each of its characters prefixed
with a backslash (REVERSE SOLIDUS, U+005C)

Closes #5601
Closes #7517
docs($interpolate): replace `jerk` with something nicer/more neutral

I thought `jerk` illustrated the "defacing" factor nicely, but I suppose it's not very nice to have
in official documentation.
docs(*): fix its vs it's typos.

Only use the apostrophe if you can expand "it's" to "it is" and
still have a grammatical phrase.

Closes #7524
fix(Scope): $broadcast and $emit should set event.currentScope to null

When a event is finished propagating through Scope hierarchy the event's `currentScope` property
should be reset to `null` to avoid accidental use of this property in asynchronous event handlers.

In the previous code, the event's property would contain a reference to the last Scope instance that
was visited during the traversal, which is unlikely what the code trying to grab scope reference expects.

BREAKING CHANGE: $broadcast and $emit will now reset the `currentScope` property of the event to
null once the event finished propagating. If any code depends on asynchronously accessing thei
`currentScope` property, it should be migrated to use `targetScope` instead. All of these cases
should be considered programming bugs.

Closes #7445
Closes #7523
docs(ngRoute): $routeParams is Object.<string, string>

Closes #7386
docs(guide/concepts-module-service.png): Typo in image

The ng-app was called ng=app in diagram image.

Closes #6473
Closes #7528
docs(tutorial/step-5): update image to match code

Closes #2753
docs($compile): remove reference to ngRepeat providing compile function

ngRepeat no longer has the compile function in its directive definition
object, since it retrieves its transclusion via the link function.

Closes 5638
docs(guide/expression): mention the ternary operator

Closes #6498
chore(rootScope): fix grammar in a test description

it's -> its

☆.。.：*・゜☆ Yeah, why not ☆.。.：*・゜☆

Closes #7534
docs(tutorial): add instructions for running node in Debian-based distributions

Specifying command for Debian based distributions, like Ubuntu, Mint, etc.

☆.。.：*・゜☆ Fantastique! ☆.。.：*・゜☆

Closes #7422
docs(tutorial): add <span> to index.html to match phonecat step4

Add missing <span> to app/index.html to match actual code on github

☆.。.：*・゜☆ Merci beaucoup! ☆.。.：*・゜☆

Closes #7520