discovery: simplify interface

There's no real need to expose a Discoverer interface/struct when the only use
of the interface (and indeed the module) is to invoke a single function. This
isn't Java, after all. So instead, simplify to Discovery exposing just two
functions: JoinCluster (i.e. what was formerly called
"discovery"), and GetCluster (hitherto "ProxyDiscovery")