docs($sce): fix grammar
docs(directives): remove line numbers from code blocks
test(ngModelOptions): ensure input has focus in e2e tests

This was not failing on Travis or Jenkins but was reliably failing on my
local build.
chore(travis): update Chrome on SL to 34

For some reason, SL gives us Chrome 28 when no version is specified.
feat($compile): allow SVG and MathML templates via special `type` property

Previously, templates would always be assumed to be valid HTML nodes. In some cases, it is
desirable to use SVG or MathML or some other language.

For the time being, this change is only truly meaningful for SVG elements, as MathML has
very limited browser support. But in the future, who knows?

Closes #7265
chore(travis): use npm cache
revert: test(ngModelOptions): ensure input has focus in e2e tests

This reverts commit 8d38ec38921bf887189eb31b07855ca987beff47.
The protractor tests for ng-model-options were failing locally on Chrome
for me but this commit breaks the tests on Firefox.
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(travis): disable captureTimeout

All of the recent failures were caused by too much load on SL, not
an actual problem.

I think a proper solution will be:
https://github.com/karma-runner/karma-sauce-launcher/issues/37
chore($http): remove deprecated responseInterceptors functionality

Code cleanup! response interceptors have been deprecated for some time, and it is confusing to have
two APIs, one of which is slightly "hidden" and hard to see, which perform the same task. The newer
API is a bit cleaner and more visible, so this is naturally preferred.

BREAKING CHANGE:

Previously, it was possible to register a response interceptor like so:

    // register the interceptor as a service
    $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
      return function(promise) {
        return promise.then(function(response) {
          // do something on success
          return response;
        }, function(response) {
          // do something on error
          if (canRecover(response)) {
            return responseOrNewPromise
          }
          return $q.reject(response);
        });
      }
    });

    $httpProvider.responseInterceptors.push('myHttpInterceptor');

Now, one must use the newer API introduced in v1.1.4 (4ae46814), like so:

    $provide.factory('myHttpInterceptor', function($q) {
      return {
        response: function(response) {
          // do something on success
          return response;
        },
        responseError: function(response) {
          // do something on error
          if (canRecover(response)) {
            return responseOrNewPromise
          }
          return $q.reject(response);
        }
      };
    });

    $httpProvider.interceptors.push('myHttpInterceptor');

More details on the new interceptors API (which has been around as of v1.1.4) can be found at
https://docs.angularjs.org/api/ng/service/$http#interceptors

Closes #7266
Closes #7267
chore(package.json): add qq

e0375a61d03b489901b16d375b98a7f65db94af2 removed qq, but the changelog script still needs it
feat(NgMessages): introduce the NgMessages module and directives