test(docs): add a `make test` target

Creates a python virtualenv, installs Sphinx, builds the docs, and tests for index.html. I had to move some top-level Makefile code to keep it from complaining about `sphinx-build` not being there, in order to install it first.

Fixes #1646.