fix(select): manage select controller options correctly

This fixes a regression that was introduced in 2bcd02d. Basically, the problem was that render() removed the wrong option from the select controller since it assumed that the option that was removed has the same label as the excessive option in existingOptions, but this is only correct if the option was popped from the end of the array. We now remember for each label whether it was added or removed (or removed at some point and then added at a different point) and report to the select controller only about options that were actually removed or added, ignoring any options that just moved.

Closes #9418
chore($sniffer): Remove $sniffer.msie & $sniffer.msieDocumentMode

Since msie is now set to document.documentMode, it's not necessary to keep
the documentMode in a separate property.

Also, msie is a variable global to Angular source so there's no need to
replicate it in $sniffer.

Closes gh-9496
docs(angular.injector): correct return type
docs(versions): remove the trailing slash in URLs when switch versions

Because `https://docs.angularjs.org/api/` can handler the trailing slash,
but `https://code.angularjs.org/1.2.24/docs/api` can not.

Fix #9043
Closes #9045
docs($location): fix description for `rewriteLinks`
refactor($location): remove redundant spaces
docs(\$http): add POST request example

Closes #9046
docs($http): use .get and .post shortcut methods in examples
docs: update angular.extend() documentation

How to preserve original objects similar to jQuery.extend().

Closes #9087
docs($event): clarify $event is jQuery.Event

The docs should state that an `$event` object is an instance of a jQuery.Event object. Whenever objects are passed around in a framework it's really helpful for the docs to state what’s inside the objects and how to expect them to be populated/work. I had to mess around in my console and with code to figure out what the `$event` object was.

Closes #9102
docs($compile): add 'templateNamespace' to example

Closes #9522
docs(migration): Removed link to nonexisting reference

Removed a link to a reference that is absent

closes #9519
fix($browser): do not decode cookies that do not appear encoded

Closes #9211
Closes #9225
docs(ngRepeat): fix wrong paragraph order

These paragraphes are related to `track by`, not to `as alias`.

Closes #9226
refactor($parse): remove dead code

Closes #9489
docs(ngAria): correct wording and add resource
docs($compile): further clarify terminal parameter

Clarifies that the terminal parameter will also exclude execution of any directives and expressions in the directive's own template.
docs(guide/compiler): add title to the page
docs(ngCsp): Universal Windows Apps added

It is necessary for this directive to be enabled when developing Universal Windows Apps written in JavaScript using Angular

Closes #9420
refactor($compile): use createMap shortcut