Initial Testing

This is just an example of how we can add tests to the project.

Currently, I duplicated a lot of the code in `site_comms.cpp` and added the http request bits into `http_client.h`. Now, we can do request testing with valid or invalid urls against a tracker running in a different thread. Not the best solution by any means, but it's better than no testing at all.