A class for discovery

A working `Discover` object that will listen on announcements and then
act on them. Still missing: `DocumentUpdater` and a wrapper for the
`Discover` class.