fix($compile): use the correct namespace for transcluded svg elements

This fixes the case when a directive that uses `templateUrl`
is used somewhere in the children
of a transcluding directive like `ng-repeat`.

Fixes #9344
Related to #8808
Closes #9415
fix($browser): don’t use history api when only the hash changes

IE10/11 have the following problem: When changing the url hash
via `history.pushState()` and then reverting the hash via direct
changes to `location.href` (or via a link) does not fire a
`hashchange` nor `popstate` event.

This commit changes the default behavior as follows:
Uses `location.href`/`location.replace` if the new url differs from
the previous url only in the hash fragment or the browser
does not support history API.
Use `history.pushState`/ `history.replaceState` otherwise.

Fixes #9143
Closes #9406
fix(select): use $viewValue instead of $modelValue

Closes #8929
fix($browser): don’t use history api when only the hash changes

Fix jshint error
fix($http): honor application/json response header and parse json primitives

When server responds with Content-Type header set to application/json we now properly parse the response as JSON

Closes #2973
fix($compile): remove comment nodes from templates before asserting single root node

The compiler will no longer throw if a directive template contains comment nodes in addition to a
single root node. If a template contains less than 2 nodes, the nodes are unaltered.

BREAKING CHANGE:

If a template contains directives within comment nodes, and there is more than a single node in the
template, those comment nodes are removed. The impact of this breaking change is expected to be
quite low.

Closes #9212
Closes #9215
fix($browser): don’t use history api when only the hash changes

Fixes a failing test on IE9 caused as a side effect
of 404b95fe30a1bcd1313adafbd0018578d5b21d3d being merged
before 0656484d3e709c5162570b0dd6473b0b6140e5b2.

The test should have been independent on the browser running it
and it is now.

Closes #9423
Closes #9424
fix(select): manage select controller options correctly

Closes #9418