fix($parse): support dirty-checking objects with null prototype

Objects created with `Object.create(null);` do not have a `valueOf` method unless
they supply one themselves. To accomodate these, Object.prototype.valueOf is
used when the type of the value is "object", and the `valueOf` property is not
a function (E.G. it's not in the object at all).

Closes #9568
docs(CONTRIBUTING): prototypical -> prototypal

Closes #9608
chore(CHANGELOG): fix name of jqLiteDocumentLoaded function

The newly added private jqLiteDocumentLoaded function is referred to as
jqDocumentComplete (due to a wrong commit message).

Closes #9610
docs(ngModel): fix anchor text

Closes #9604
fix(testability): escape regex chars in `findBindings` if using `exactMatch`

Move the function to escape regexps to Angular.js, fix the link, and use it in
the $$testability service.

Closes #9595
Closes #9600
doc(angular.forEach): note difference from ES262's Array.prototype.forEach

Since Angular's forEach is not a strict polyfill, and takes different paths depending on the type
of collection it is dealing with, it does not throw a TypeError when converting the obj with
ToObject(), as this operation does not need to be performed.

This difference is documented nicely here.

Closes #9142
docs(input): `ngModel` uses priority 1
docs(guide/directive): fix typo
refactor($compile): simplify regular expressions

Closes #9637
refactor(jqLite): remove a duplicate DOMContentLoaded handler attachment
docs(jqLite): typo: `getComputedStyles()` -> `getComputedStyle()`
docs(ngEventDirs): update remarks on behavior

The event directives haven't stopped propagation by default in a long time.
If that behavior is desired, the handler may use the provided `$event` to call:

    $event.stopPropagation();

Closes #9640
docs(guide/forms): improve readability and formatting
fix(loader): fix double spaces

Fix double spaces in return statement. Double spaces between return and
returned value brake minification process of some minifiers (bug found on JSMin
https://github.com/mrclay/jsmin-php).

Closes #9630
test($resource): enhance test-case to verify correct behaviour

Previously, the test-case verified that calling `toJson()`, would remove
the `$promise` and `$resolved`, but not that other `$`-prefixed properties
would not be removed.

Closes #9628
docs($location) fix $$parse parameter name

Replaced newAbsoluteUrl by url parameter.

Closes #9650
chore(jscs): update jscs and update deprecated rules

Updated grunt-jscs and deprecated rules:
requireLeftStickedOperators and requireRightStickedOperators.

Fixes #9429
Closes #9616
chore(jscs) change deprecated rules for jscs todo

Closes #9616
docs(readme): fixing the &lt; in the benchmarks readme.md page

Closes #9615
fix($sce): use msie instead of $document[0].documentMode

this is important so that people can mock $window without having to add stuff that angular uses internally into it

Closes #9661