Set up automatic documentation via Sphinx
This MR sets up documentation with Sphinx. Sphinx automatically scans through all of the code and builds documentation for everything with a docstring. You can build the documentation locally and view it in your browser. The documentation can also be built and hosted online, when we get to that stage.