Adding requirements.txt for pip

To do:
General code cleanup
More unit tests
Merge remote-tracking branch 'github/master'