fix($http): fix response headers with an empty value

Empty response header values are legal (http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html).
Return an empty string instead of null, which is returned when the header does not exist.

Closes #7779
So the test is failing on the `Constructor` header --- I think the reason is we need to fix the `parseHeaders` function so that it uses `createMap()` instead of `{}` when initializing `parsed`.

EG:

```js
parsed = createMap(); // rather than `parsed = {}`
```