Discovery httpclient

HttpClient and AsyncHttpClient implementations which take relative URLs, implement discovery lookup, and retry requests.