Protocol implementation is starting to look ok.

Still need to decide exactly how data packets will work though.
Random number functions belong in crypto_core.