net-io

(after #442)

This PR changes net to use `io` instead of channels.
At the moment it's just `conn`, but soon more.
AHHH. I'm so excited.

I looked in mock.go and only saw three constructors.

https://github.com/jbenet/go-ipfs/blob/53a1f4e7a639fb1b5acaaa52d38450b497bee157/net/mock/mock.go