Adds a requirements.txt file
Provides a default cacheDir if none is given
Adds much more documentation