Initial refactoring

Also, now we use manage.py to run the server.
Update to requirements.txt