When proxying HTTP requests, update the destination host name

`httputil.NewSingleHostReverseProxy` does not set the host of the
request to the host of the destination server. When proxying from
foo.com to bar.com, requests will arrive at bar.com with the host of
foo.com.

Many webservers are configured to not serve pages if a request doesn t
appear from the same host. Like nginx. This fixes that case.