Refactor setup.py extras