Alembic support

Implemented migration management using alembic and flask-migrate. To create a migration use: 
`python manager.py db migration` which will auto-detect changes in the model. Make sure to check the created migration file in migration/versions/ because not ALL changes can be detected automagically. To apply changes use `python manager.py db upgrade`.

Also:
 - Refactored argparse to run.py
 - created requirements.txt for unix (see #175 )