Better network code

This implements network-sendable RPCs, with all the parser logic required.

It's not *quite* there yet in terms of the infrastructure for integrating with the Raft mainloop, but as far as "we can send Raft messages around, and the system for doing so is basically tested and works over TCP" we're good.

It might be worth merging this early (before all the above is done), since it gives a better idea of what the final state of the network module will look like.