simpler, clearer, and safer discovery process (see details)

- a post-discovery merge allows DiscoveryTasks to work on isolated
structures
- merges now synchronised with each other and with client lookups and
iterations (defensive copies for latter)