Swagger API docs

We now have a self-describing API and an interactive, responsive front end for it to boot.