#8: added more docstrings and sphinx docs, tweaked logging levels to avoid double-logging stacktraces, and added assertion about our ability to connect to localhost