docs(jqLite): clarify that Debug Data must be enabled for scope/isolateScope methods

Closes #9515
Closes #10123
feat(ngModelController): add $setDirty method

- extract existing functionality to public method: $setDirty
- add tests to corresponding changes
- refactor code to use extracted method

Closes #10038
Closes #10049
doc(ngModelController): move example below members
docs(CHANGELOG): update changelog with 1.2.27
docs(ngModelController): update wordings, add more general info

The wordings in setDirty etc. were specific to inputs, but ngModelCtrl
is agnostic to this and the preferred term is 'control'. I also
added some more info about this to the description, and linked to
the example that now lives at the bottom of the page.
docs($httpProvider): add info about `defaults.cache`

Closes #10134
fix(input): call $setTouched in blur asynchronously if necessary

If the model is blurred during an apply it should trigger
$setTouched asynchronously.

Fixes #8762
Fixes #9808
Closes #10014
chore(scripts): publish 1.2.x releases to npm with correct tag
docs(ngAnimate): Fix typo

The ngAnimate makes reference to a function `$animateProvider.classNamePrefix`
that does not exist, the correct function is `$animateProvider.classNameFilter`

Closes #10142
chore(scripts): fix 1.2.x tag name
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
test(filter): test expression object with inherited properties

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

Closes #9984