Add assertion messages to test
Factor out code for clarity
Rename send/receive raw_send/raw_receive
Move core functions away from client/server names
Add some defines that'll help soon
I think the new protocol will occupy only 4 bytes
Rename param for consistency