Update requirements, setup.py and add flake8

Needs `license` and trove classifiers