Build out documentation

Add a top-level `docs` directory. Add both manual and API documentation to this
directory. Make sure that documentation is correctly generated. Make sure that
`docs/conf.py` is linted by the `lint` make file target.

Add two new rules to `Makefile`:

* `docs-html` calls `html` in `docs/Makefile`
* `docs-clean` calls `clean` in `docs/Makefile`

Make git ignore `/docs/_build/`.

Fix various Sphinx directives throughout the code base so that `make docs-html`
can execute with zero warnings.

Move the contents of `README.md` to `docs/index.rst`. This will be a hindrance
to users in the near term, but the final result will be positive once
documentation is made available on ReadTheDocs.