Completed file caching for the store() method.  Implemented methods will probably be updated for the get() method.

Also did some slight refactoring for in the client.
Completed file caching for the get() method.  Still requires testing.
Merge branch 'master' of https://github.com/Sage-Bionetworks/synapsePythonClient into caching

Conflicts:
	synapseclient/client.py
Added intermediate cache folder in regards to reducing cache fanout.

Ran code through all unit tests and fixed any bugs found.  Also updated cmd line client to use non-deprecated functions
Added test case for syn.md5Query().
After reviewing the C4, the case where an unmodified file exists in a different location (and therefore should be copied, not downloaded) is now handled.
Added unit tests for caching.  Corrected several misc bugs (i.e. race conditions).
Implemented alignment changes to R client as mentioned in code review (https://github.com/Sage-Bionetworks/synapsePythonClient/pull/64).

Added additional integration tests for the boolean flags added while implementing caching.
Continued improvement/standardization of docstrings and other comments.

Other changes:
- Removed redundant syn.sessionToken field in favor of syn.headers['sessionToken']
- Commented-out and replaced code of deprecated functions createEntity(), updateEntity(), and uploadFile()
- Moved some Locationable-specific code into get/store methods to accommodate above change
Reorganized logic for caching of Locationable objects as well.  For now, the Locationables are put into a directory: CACHE_DIR/SynapseID/VersionNumber/.  That may be changed by modifying synapseclient.cache.determine_cache_directory().
Removed sessionToken usage for authentication in favor of API keys.
Fixed some minor issues with path resolution.
Also fixed an API key issue.
Fixed multi-threaded usage of API-keys.
After code review:
- Changed some tests back to use deprecated methods
- Removed tests that are now repeated due to underlying changes in deprecated methods (they call newer methods)
- Config file is treated as read-only (.synapseConfig)
- Renamed some methods appropriately
- Other small changes
Merge pull request #67 from kaysoky/APIKeyLoginOverhaul

File caching, docstring update, Locationable caching, and Api key login overhaul