Cross-client file caching

May or may not be immediately compatible with R-client due to the recent change in how the cache is organized (with the intermediate folder).  Changes pass all unit tests on local machine (command line tests require a "python setup.py install" step of course).  

Also updated command line client to eliminate deprecated functions.
Also added test case for MD5Query.