Sphinx docs, various doc fixes

This is an initial and dummy (autodoc) attempt at Sphinx doc generation. To try it out run the following:

```sh
./venv/bin/python setup.py docs
make -C docs html SPHINXBUILD=../venv/bin/sphinx-build
xdg-open docs/_build/html/index.html
```

I also fixed a lot of docs along the way :)