Various Improvements

Add requirements.txt
Fixes .gitignore
Fixes issue preventing script from running outside of project directory