Version handshake

addresses #166 
No, we don't need to use a `NetMessage` here. `Conn`s deal with raw bytes.