In order for consensus engine developers to be able to experiment with different transport layer implementations, we should split out all P2P transport-related functionality as a separate Go module. The focus here is not on splitting out the gossip protocols - only the transport layer.