update requirements versions
split settings into separate files
add flake8 for linting