Refactor numpy-scipy step

- Refactor out into functions
- Prepare for handling mulitple versions
- Use pip-grep for recursive requirements.txt