docs(error/$sce/unsafe): suggest including ngSanatize
feat(ngInclude): emit $includeContentError when HTTP request fails

This adds a scope event notification when a template fails to load.

This can have performance implications, and unfortunately cannot at this moment
be terminated with preventDefault(). But it's nice to be notified when problems
occur!

Closes #5803
docs(tutorial/step_09): note about 'Filter' suffix

Reminder that 'Filter' is appended to filter names when injected.
Link to Filter guide where this is mentioned.
docs(directive/input): document ngTrim for textarea
docs(error/$compile/tplrt): note that html comments can cause this
docs(api/index): add Oxford comma

Verified grammar at https://owl.english.purdue.edu/owl/resource/607/01/
docs($animate): $animate.enabled's param is optional

The docs show that param 'element' (of type DOMElement) is required when it is optional.
docs(tutorial/step_09): fix link to filter guide
docs(tutorial/step_09): fix formatting
chore(jshint): dedupe jshint option
fix($compile): always error if two directives add isolate-scope and new-scope

Previously, the compiler would throw an error if a directive requested new non-isolate scope
after a directive had requested isolate scope. But it would not error if a directive
requested an isolate scope after a directive had requested a new non-isolate scope.

Since it is invalid to have more than one directive request any kind of scope if one of
them has requested isolate scope, then the compiler should error whatever order the
directives are applied.

This fix addresses this situation by throwing error regardless of order of directives.

BREAKING CHANGE:

Requesting isolate scope and any other scope on a single element is an error.
Before this change, the compiler let two directives request a child scope
and an isolate scope if the compiler applied them in the order of non-isolate
scope directive followed by isolate scope directive.

Now the compiler will error regardless of the order.

If you find that your code is now throwing a `$compile:multidir` error,
check that you do not have directives on the same element that are trying
to request both an isolate and a non-isolate scope and fix your code.

Closes #4402
Closes #4421
docs(loader): improve explanation of modules
docs(guide/services): fix link to wikipedia article containing parentheses

Fix in a mis-parsed link with ')' symbol in it

Closess #7775
feat(input): add $touched and $untouched states

Sets the ngModel controller property $touched to True and $untouched to False whenever a 'blur' event is triggered over a control with the ngModel directive.
Also adds the $setTouched and $setUntouched methods to the NgModelController.

References #583
docs(errors/$compile/nonassing): fix reversed attribute and scope property names
docs(guide/services): fix link to services api

Closes #7795
perf($http): move xsrf cookie check to after cache check in $http

$http was previously checking cookies to find an xsrf-token prior to checking
the cache. This caused a performance penalty of about 2ms, which can be very
significant when loading hundreds of template instances on a page.

Fixes #7717
docs(guide/bootstrap): fix link to angular.js  script in example

code.angularjs.org/angular.js is 404, updated it

Updated http://code.angularjs.org/angular.js in the example to http://code.angularjs.org/snapshot/angular.js
It works fine now.

Closes #7807
docs(TRIAGING.md): clarification for issues that are not reproducable
fix($injector): report circularity in circular dependency error message

Change the error message for a circular dependency to display the full
circle back to the first service being instantiated, so that the problem
is obvious. The previous message stopped one dependency short of the full
circle.

Changes the content of the cdep error message, which may be considered
a breaking change.

Closes #7500