Network communication

Simple functions for sending and responding to messages.

`InitNode` begins listening on the designated port, and `SendMessage` sends a message to a node that has been initialized, returning its response.

This is really basic stuff; most glaringly, nodes only recognize a single message (`"req"`), and can only respond to it with a predesignated message (`data`). This can easily be expanded later.

Another problem is that `SendMessage` just waits indefinitely until it gets a response. Clearly there should be some sort of timeout added there.