Python 3 support

Fixes #107 
I believe I was having trouble with migrate in a test environment.

I'm not sure how much concern should be placed on testing migrate. If all the tests pass with it - then it seems fine to me either way.