fix($location): consider baseHref in relative link for legacy browsers

Request Type: bug
 
**How to reproduce:**

In a legacy browser that doesn't support HTML5 push state (ie: IE9) have the following:

- `$locationProvider.html5Mode(true).hashPrefix('!');` in app configuration;
- a number of routes such as `/foo`, `/bar` in the `$routeProvider` configuration;
- `<base href="/en/">` in page headers;
- `<a href="/en/foo">` in a link.

When clicking a link, it is rewritten as: `http://host/en/#!/en/foo` 
Expected: `http://host/en/#!/foo`

Component(s): $location

Impact: medium

Complexity: small

This issue is related to: 



**Other Comments:**

I couldn't yet devise any test for covering this case. This fix concern a click handler on the `$rootElement` which (afaik) is not covered in the current tests.

Please let me know if you find it reasonable and if you have ideas on how to test for it.
Thanks!
I don't think this is quite right.

Assuming we have a base tag like `<base href="http://www.google.com/foo/bar">`,

`<a href="/baz" id="a">baz</a>` should resolve to `http://www.google.com/baz`,
`<a href="baz" id="a2">baz2</a>` should resolve to `http://www.google.com/foo/baz`

The issues are, 1) we're not really correctly resolving relative to the baseURI for absolute references, and 2) we're not resolving relative URIs correctly this way at all, because this branch is only ever evaluated for absolute uris (uris beginning with a `/`).

We need to fix this up