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.
Good to see tests! Given the importance of the p2p code, I'd recommend to not only have happy path testing http://www.soapui.org/Testing-Katas/create-a-complete-set-of-boundary-tests.html
but at least also negative testing http://www.soapui.org/Best-Practices/negative-testing.html especially for complex functions like NodeTable::findNearestb

Since time is also limited, it might be wise to drop some optimization features for higher test coverage.