chore($compile): remove bogus scope/controller check

We already have the same test in $controller which is called just a few lines above

Closes #3517
docs(httpBackend): update documentation for expect methods

`expect` methods can receive an Object as the data parameter, which was
undocumented.
fix(docs-bootstrap): Removed injector from bootstrapped docs samples

This is necessary to make e2e tests pass for implementing #3411. At present, the docs are violating the rule being enforced by double-bootstrap prevention.
docs(ngModel): validators should return undefined for invalid values.

Closes #3525
docs($compile): update directive type signature

To avoid "Argument type Array is not assignable to parameter type function" validation error  When using the minifcation-safe array style

(eg .directive('myDirective', ['$http','$timeout','$compile', function($http,$timeout $compile).... )

Closes #3392
refactor(location): Refactored location service to rely on urlUtils instead of RegEx.

The location service, and other portions of the application,
were relying on a complicated regular expression to get parts of a URL.
But there is already a private urlUtils provider which relies on
HTMLAnchorElement to provide this information, which is suitable for most cases.
In order to make urlUtils more accessible in the absense of DI,
its methods were converted to standalone methods available globally.

The urlUtils.resolve method was renamed urlResolve, and was refactored to only
take 1 argument, url, and not the 2nd "parse" boolean. The method now always
returns a parsed url, and all places in code which previously did not want parsed
can now get the value from the href property of the returned object.

fix($location): support IPv6 addresses

Tests were added to ensure IPv6 addresses were handled correctly.