chore(travis): update Chrome on SL to 34

For some reason, SL gives us Chrome 28 when no version is specified.
chore(travis): use npm cache
chore(travis-build): don't re-package when testing docs

Since .travis is already running `grunt package` in the `before_script`
block there is no need to run it again when testing the docs.
chore(package.json): add qq

e0375a61d03b489901b16d375b98a7f65db94af2 removed qq, but the changelog script still needs it
docs($anchorScroll): minor copyedit.

Singular-tense verb. Definite article.

Closes #7319
docs(guide/providers): minor edits
docs($injector): fix typos
chore(doc-gen): update to dgeni 0.3.0
docs(Attributes): ensure code sample is not escaped

Closes #6649
fix(ngSanitize): encode surrogate pair properly

The encodeEndities function encode non-alphanumeric characters to entities with charCodeAt.
charCodeAt does not return one value when their unicode codeponts is higher than 65,356.
It returns surrogate pair, and this is why the Emoji which has higher codepoints is garbled.
We need to handle them properly.

Closes #5088
Closes #6911
docs(tutorial): move bower_components into app folder
chore(travis): run protractor tests with ff28

FirefoxDriver seems to have an issue with FF29 which is breaking a test case, and causing false negatives.

There is an issue opened on protractor regarding this at https://github.com/angular/protractor/issues/784

Closes #7369
docs(minErr): small grammar fix for $compileMinErr ctreq

Closes #7365
docs($rootScope): use unshift to add items to the array at the beginning

Closes #7364
docs(directive): fix misspelled HTML class for an alert

Muchas gracias
fix(ngSwitch): properly support case labels with different numbers of transclude fns

Due to a regression introduced several releases ago, the ability for multiple transclude functions
to work correctly changed, as they would break if different case labels had different numbers of
transclude functions.

This CL corrects this by not assuming that previous elements and scope count have the same length.

Fixes 7372
Closes 7373
fix($compile): set $isolateScope correctly for sync template directives

All isolated scope directives that do not have `templateUrl` were marked
as `$isolateScopeNoTemplate` even if they did have a `template` attribute.

This caused `jqLite#scope()` to return the wrong value for child elements
within the directive's template.

Closes #6942
fix(jqLite): use jQuery only if jQuery.fn.on present

Make Angular not bind to jQuery versions older than 1.7 since older
versions of jQuery do not support necessary on()/off() methods.
docs(guide/di): fix typos

Closes #7480
fix(numberFilter): fix rounding error edge case

Fix a number rounding error.

Closes #7453
Closes #7478