Update submodule urls

This patch updates the boost submodule urls to use https instead of
ssh so that non-github users will have an easier time cloning the
repository.
Refactor Transaction/Result send/receive functions

This patch generalizes the sending and receiving of the
length-prefixed strings sent by the client/server and adds tests for
the new functions. In addition, the server cleanly catches a crash
associated with trying to open a socket that is already in use.