Always set a correct Host header to avoid net/http bug

Net::HTTP fails to surround IPv6 addresses in brackets when constructing
a Host header. Net::HTTP respects any user-supplied Host header, so we
ensure that the Host header is correctly formatted by setting it
manually for all requests.