p2p: UDP, peer discovery protocol

Also updated/renamed member properties in Host to reflect future support for multiple listeners and to clarify what current listeners provide.
What's the point of making _tried an argument if you reset it here?