docs(guide/providers): fix grammar in note regarding factory naming conventions

It seems as though this sentence wasn't written the way it was originally planned. I did my best to
approximate the intent of the original author.

Closes #7022
docs(tutorial): fix typo in tutorial index page

Spelling error, "server" should be "serve"

Closes #7028
docs(guide): fix dropped word in controller description

Closes #7026
docs(ngMock): fix typo

"register" should be "registered"

Closes #7034
docs(bootstrap): add example that actually uses `angular.bootstrap`.

Closes #7032.
docs($location): improve $location.search() docs

Closes #7030
fix(ngModelController): introduce $cancelUpdate to cancel pending updates

The `$cancelUpdate()` method on `NgModelController` cancels any pending debounce
action and resets the view value by invoking `$render()`.

This method should be invoked before programmatic update to the model of inputs
that might have pending updates due to `ng-model-options` specifying `updateOn`
or `debounce` properties.

Fixes #6994
Closes #7014
refactor(ngModelController): use 'ctrl' instead of 'this'
docs(ngModelOptions): add some docs for $cancelUpdate
docs(ngModelController): add example for $cancelUpdate
docs(guide/ie): fix spelling mistake

Closes #7050
docs(e2e-testing): deprecate ng-scenario and update E2E testing doc to discuss protractor
feat($resource): Make stripping of trailing slashes configurable.

First, this now uses a flat object configuration, similar to
`$httpBackend`.  This should make configuring this provider much more
familiar.

This adds a fourth optional argument to the `$resource()` constructor,
supporting overriding global `$resourceProvider` configuration.

Now, both of these ways of configuring this is supported:

    app.config(function($resourceProvider) {
      $resourceProvider.defaults.stripTrailingSlashes = false;
    });

or per instance:

    var CreditCard = $resource('/some/:url/', ..., ..., {
        stripTrailingSlashes: false
    });
docs(guide/unit-testing): fix small typo (than instead of then)
docs(guide/directive): directives can be comments, too

While it's not a widely used feature, and likely shouldn't be recommended, it is
possible to use a directive via a comment node.

Closes #7061
docs(tutorial): npm needs "run" keyword for custom script names

Fix "npm run update-webdriver" command

Closes #7071
docs(guide/e2e-testing): remove repeated word 'manually'

Fixed repetition in Caveats paragraph

"manually" was repeated. Grammatical correctness is the prime directive, resistance is futile.

Closes #7073
docs(ngTouch): include angular-touch.js in example iframes

Mystical [deps="angular-touch.js"] is enough to get the correct file to be added to the <head> tag.

Closes #7058
Closes #7074
feat(injector): "strict-DI" mode which disables "automatic" function annotation

This modifies the injector to prevent automatic annotation from occurring for a given injector.

This behaviour can be enabled when bootstrapping the application by using the attribute
"ng-strict-di" on the root element (the element containing "ng-app"), or alternatively by passing
an object with the property "strictDi" set to "true" in angular.bootstrap, when bootstrapping
manually.

JS example:

    angular.module("name", ["dependencies", "otherdeps"])
      .provider("$willBreak", function() {
        this.$get = function($rootScope) {
        };
      })
      .run(["$willBreak", function($willBreak) {
        // This block will never run because the noMagic flag was set to true,
        // and the $willBreak '$get' function does not have an explicit
        // annotation.
      }]);

    angular.bootstrap(document, ["name"], {
      strictDi: true
    });

HTML:

    <html ng-app="name" ng-strict-di>
      <!-- ... -->
    </html>

This will only affect functions with an arity greater than 0, and without an $inject property.

Closes #6719
Closes #6717
Closes #4504
Closes #6069
Closes #3611
docs(guide/e2e-testing): remove inconsistency in first paragraph

Change the "first line of defense" to unit tests, not end-to-end tests.