fix($location): strip off empty hash segments when comparing

The url is the same whether or not there is an empty `#` marker at the end.
This prevents unwanted calls to update the browser, since the browser is
automatically applying an empty hash if necessary to prevent page reloads.

Closes #9635
fix(ngSanitize): exclude smart quotes at the end of the link

When smart quotes are included in content filtered through linky, any
smart quote at the end of a URL string was being included in the link
text and the href.

Closes #7307
feat($injector): print caller name in "unknown provider" errors (when available)

NGEUROPE!!!!!

Closes #8135
Closes #9721
docs(guide/scope): fix typo

Closes #10289
fix(linky): make urls starting with www. links, like markdown

It's super cool!

Closes #10290
fix(numberFilter): numbers rounding to zero shouldn't be negative

Closes #10278
fix(filterFilter): correctly handle deep expression objects

Previously, trying to use a deep expression object (i.e. an object whose
properties can be objects themselves) did not work correctly.
This commit refactors `filterFilter`, making it simpler and adding support
for filtering collections of arbitrarily deep objects.

Closes #7323
Closes #9698
Closes #9757
test(filter): test expression object with inherited properties

Related to #9984
fix(filterFilter): ignore function properties and account for inherited properties

Closes #9984
fix(filterFilter): don't match primitive sub-expressions against any prop

Basically, implement the logic detailed in the 2nd point of
https://github.com/angular/angular.js/pull/9757#issuecomment-63544399
fix($parse): Follow JavaScript context for unbound functions

Use `undefined` as the context when a function is ounbound.
E.g. when executing `foo()()`, then `foo()` is executed using the
scope as the context, the function returned by `foo()` will
have an `undefined` context
docs(guide/Working With CSS): ng-touched/untouched

Add description for ng-touched and ng-untouched CSS classes.

Closes #10302
feat(jsonFilter): add optional arg to define custom indentation

also change toJson function to accomodate passing in of number of spaces

Closes #9771
test(toJson): add extra test cases for new `pretty` behaviour
refactor(toJson): remove breaking change from previous CL

Closes #10297
style(guide/css-styling): remove trailing whitespace

Pretty self-explanatory, no mystery here.
docs(guide/css-styling): form controls are not always input elements

People frequently write custom form controls using the `ngModel` directive, this just
refactors the text to be more clear that this is possible (imho).