net-io

(after #442)

This PR changes net to use `io` instead of channels.
At the moment it's just `conn`, but soon more.
`net/conn` is shitty and old. sadly we need its functionality (we need to encrypt things before hitting the swarm, and we need them to be Peer aware.) but thankfully it's all tucked away.