Switch to using a context manager to ensure the file is closed
Don't download an answer if it's already been downloaded
PEP 8 change
Refactor the creation of cache directories
Cache fetched question PDFs, and add a setting for the cache location
Use Python 2.6 compatible format strings for .format()