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
I don't totally like this form. `'hasOwnProperty' in {} === true`, and some browsers have weird things in Object.prototype which you wouldn't expect (like `watch` in Firefox). These don't frequently hit header names, but they definitely could, so I say use `hasOwnProperty.call(headersObj, name)` instead.