WIP client: min client for discovery

I want to stay away from http.Client since it does things we just don't need (cookies). It's super easy to manage the cancellation ourselves and makes it incredibly clear what's actually going on. Using RoundTripper means we can also fake things out quite nicely in the tests.