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 ...
      ...
fix($http): allow empty json response

When a response contains an `application/json` header and
the response is empty the response should be left as is.

Fixes #9532
Closes #9562