net-io

(after #442)

This PR changes net to use `io` instead of channels.
At the moment it's just `conn`, but soon more.
Why isn't msgio like so...

```
type Foo interface {
  io.Reader
  io.Writer
  io.Closer
  // or io.RWC
  ReadMsg
  WriteMsg
}
```