fix($http): don't run transformData on HEAD methods

7b6c1d0 created this issue by using `Content-Type` to
determine when to run `fromJson`.  Because `HEAD` methods do not contain
a body but are supposed to return the `Content-Type` header that would
have been returned if it was a `GET` this functionality fails.

Closes #9528
Closes #9529
fix(select): add basic track by and select as support

Instead of throwing an error when using "track by" and "select as" expressions,
ngOptions will assume that the track by expression is valid, and will use it to
compare values.

Closes #6564
fix(jqLite): remove native listener when all jqLite listeners were deregistered

This fixes an iOS issue where some events buble only when native listeners are present (see #9509),
but more importantly previously we would pass wrong argument into the `removeEventListenerFn`  which
caused native listeners to be never deregistered. Oops!

Closes #9509
docs(select): clarify policy of track by and select as
chore(CHANGELOG): remove duplicate breaking change for 1.3.0-rc.5
docs(angular.extend): merge redundant sentences
docs(guide/Working With CSS): add doc for ng-isolate-scope
chore(CHANGELOG): add an extra new line after each item in the "BREAKING CHANGES" list

This ensures that the next item will appear on a new line and be properly
parsed as new list item (and not as the continuation of the current item),
even if the current item does not end with a newline character.
Currently, it would result is something like this:

    - **item 1**: due to ...
      blah1 blah1 blah1- **item 2**: due to...
      blah2 blah2 blah2

instead of the intended:

    - **item 1**: duo to ...
      ...
    - **item 2**: due to ...
      ...
feat($anchorScroll): support a configurable vertical scroll offset

Add support for a configurable vertical scroll offset to `$anchorScroll`.

The offset can be defined by a specific number of pixels, a callback function
that returns the number of pixels on demand or a jqLite/JQuery wrapped DOM
element whose height and position are used if it has fixed position.

The offset algorithm takes into account items that are near the bottom of
the page preventing over-zealous offset correction.

Closes #9368
Closes #2070
Closes #9360
chore(docs): apply the anchorScroll offset feature to the docs app

Closes #9360
fix($anchorScroll): add missing tests and do overall clenup

Add tests for <body> with border/margin/padding and boxSizing.
Simplify and fix a couple of bugs.
test($anchorScroll): refactored tests to make them more "unit"-like

Mock `getBoundingClientRect()` method of elements in tests, instead of
relying on the browser to actually size and scroll the elements.
fix($anchorScroll): use the `load` event instead of `readystatechange`
squash
squash2
test($anchorScroll): fix a test and cleanup dead code
feat(jqLite): add private jqDocumentComplete function

This helper function can be used to execute a callback only after the
document has completed its loading, i.e. after the `load` event fires
or immediately if the page has already loaded and
`document.readyState === 'complete'`.
squash
chore(jshint): make it happy
fix($anchorScrollSpec): remove redundant function

Since the refactorings that took place recently, `initAnchorScroll()`
isn't necessary anymore. All it does is load $anchorScroll and trigger a
digest, which is also done by `changeHashTo()` anyway.