Version handshake

addresses #166 
we assume we have a reliable transport channel. no need to retransmit. We operate under the assumption that all things we send out arrive or none do (otherwise things will get very hard to reason about).