Initial commit of work for review.

Pushing this up for you to take a look at and offer suggestions. FWIW it seems to work, I just can't seem to make alembic play nicely with me.