http::Client cleanup (mostly POST)

I tried to preserve existing functionality where reasonable.  However, callers to `http::Client::Resolve()` will no longer `exit(1)` on DNS failure.

I'm sure it could be better, e.g. trying all the hosts in case of round robin, allowing custom headers, etc. but this should be plenty sufficient for simple stuff.

-[Unknown]