Bringing in basic socket code and unit test framework

These are from previous presonal projects.

The socket code provides a thin C++ wrapper around Berkeley sockets,
which we will use for UI comms.

The unit test framework is simple and runs through whatever tests
you set up within it.

Aren't there libraries to do both of these things? Yes.
Aren't those libraries better at these tasks? Perhaps.
I'm using this because
- The code is simple.
- It incurs no additional dependencies.