Package p2p (PoC7)

Here we go. That took a bit longer than expected.
The tests could be better, but we can improve them while integrating PoC 8 changes.

@zelig PTAL
This is still part of #155.
DiscReason is public, errors aren't.