net-io

(after #442)

This PR changes net to use `io` instead of channels.
At the moment it's just `conn`, but soon more.
concrete type is exposed with a sync Mutex field as value. callers may get unexpected behavior.