initial code commit

simple middleware and management command to run a test server that
exposes an endpoint to reset the server/database between tests.

includes docs, tests, travis-ci integration.
This could create a problem.  Since we're calling the custom tearDown method first, it's possible for a user to write a function that references something in the custom setUp method, in which case this would error out.  Instead we should create some kind of dirty flag indicating that the custom setUp method has been run at least once, or that the server was just started (whichever is easier).  It shouldn't hold up the pull request, but I'll open an issue to track it.