Communication protocol

Refactoring the communication protocol code, got the command runner to run scripts and send to to the hub, added tests for reading+running a high-level script and running a binary file.
Currently there's only one