This commit is a bunch of work to get automatic testing / building on
drone working, and get development setup with docker. As a side part,
migrations were moved to the migrate library.

The end result is that when you push, the environment is set up, tests
are run, and provided they pass, a production docker image is
built (from docker/Dockerfile.production), which is then pushed to
docker hub. Most of the environment is cached between runs, so the
actual test run is fast (a couple minutes). The production image still
takes a long time to build, but that should be restricted to a branch,
at which point it shouldn't be a huge deal (it takes about 15 minutes to
build). Alternately, a project specific base image could be created,
pre-populated with a sandbox with the dependencies pre-built on it (this
is how we cache between test runs).