docs(tutorial): update to match changes to phonecat
revert: fix(Scope): aggressively clean up scope on $destroy to minimize leaks

This reverts commit f552f25171390e726ad7246ed18b994970bcf764.

The commit is causing regressions.

Closes #6897
docs($location): fix link to Developer Guide for "Using $location"

Closes #6946
docs(tutorial): update tutorial steps to discuss protractor

Closes #6940
feat(injector): optionally disable automatic function annotation

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

This works by passing a `true` as the 3rd or 4th parameter to createInjector(), or alternatively
to angular.module.

```js
angular.module("name", ["dependencies", "otherdeps"], configFn, true)
  .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.
  }]);
```

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

Related: #6717
feat(injector): improve public API for disabling automatic function annotation

This patch adjusts the public API as discussed, by moving it into bootstrap, rather than at
the module definition level.
feat(injector): change public API based on discussion

The API has been discussed a fair bit today, details are at http://goo.gl/0DvZ7V. There may be a
small number of changes left to make before this is shippable.
feat(injector): improve nomagic errors for controllers and route resolves

Tiny change which improves error messages by referring to registered controllers by their registered
name rather than the function signature, as well as referencing $route resolve functions by their
local name, as opposed to their function signature.