Setup and Requirements file improvements

- setup.py now parses requirements.txt and test-requirements.txt
- requirements.txt now lists required packages
- test-requirements.txt now lists requirements for running tests