Make HTTP client instrumentation aware of the "Host" request header

Instruct the HTTP client instrumentation to try to read the hostname for the request first from the "Host" header in the request, and fall back to regular connection hostname as before.

This fixes metric names in case when a HTTP connection was opened against an IP address, but the request was made with a "Host" header. Instead of this being recorded:

    External/127.0.0.1/Net::HTTP/GET

NewRelic will now record this:

    External/localhost/Net::HTTP/GET