Miscellaneous fixes and improvements

Rules of thumb:
- setup.py only <=, >=
- requirements.txt only ==