WIP client: min client for discovery

Well, the endpoint provided by the user may actually have query parameters that we want to hang on to. That might be a silly thing to support though. FWIW `v2URL` just *adds* to the provided endpoint's path, too, it does not overwrite it. For example, you could set the endpoint of the httpClient as `http://example.com/foo/bar?ping=pong` and `getAction{Key: "/pants" Recursive:true}.httpRequest()` would yield a URL like `http://example.com/foo/bar/v2/keys/pants?ping=pong&recursive=true`. It's totally reasonable not support this, too.