Updated to use pickle caching for speed and modularity

Updated it to use cPickle (super fast) for caching. To update your current cache, run it once, then comment out/remove line 234 in main.py afterward.

Also you could remove the line in your readme about needing to `touch already_done`, since the `w` argument in `open(...)` will create the file if it doesn't already exist.