Add Python 3 support, replace sqlalchemy-migrate with alembic

This PR adds Python 3 support while maintaining support for Python 2.6/2.7 and would fix #32.

The major change is the replacement of `sqlalchemy-migrate` (which does not support Py3) with [`alembic`](https://alembic.readthedocs.org/) (which does). The developers of `sqlalchemy-migrate` recommend switching to `alembic`, as far as I understand ([see text at top of this page](https://code.google.com/p/sqlalchemy-migrate/)).

Putting `alembic` in means reloading meta data for tables after adding/dropping columns. There may be a better way, not sure, please review. I'm also unsure if I got the threading integration right.

Tests pass under Python 2.6, 2.7 and 3.3.