Makes sure contentSource is specified when constructing an evaluation.
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Merge branch 'master' of github.com:Sage-Bionetworks/synapsePythonClient
Whitespace changes only!

+ Formatted the command line client code to be more PEP8-ish
* SYNR-548, SYNR-556

+ Logout when logged out is now a no-op (+ unit test)
+ Reworked Activity.used code to be more Pythonesque.
+ Increased test coverage and fixed some non tested areas.
  + Note: coverage partly depends on the configuration file, since some tests require extra options.
  + Caught one more race condition in file caching
  + Configuration-set cache location now probably expands the path
  + Test for getEvaluationByName
  + Improved chunkedQuery test
  - Removed login from unit tests
  + Reused a test to test Entity.create()
More SYNR-556

- Cleaned up unused methods in utils.py (guess_object_type, class_of, get_entity_type, synapse_error_msg, debug_response)
  + Exceptions.py absorbs functionality of synapse_error_msg and debug_response
  - Modified all Wiki code to match
- Removed _storeTimingProfile() from client.py
+ Improved style of activity.py
+ Added [debug] flag to config file setup
  - Removed some extraneous debugging print statements
Reworking Retry

+ Moved retry.py into client.py
  + Changed from generator to simpler function
+ Changed lock time on cache to 10 seconds
+ Added some print '\n' statements for compatibility with RJSONIO library in R client
SYNR-560

+ Renamed "upload" function to "add"
- Removed some extraneous return statements
+ Changed command line tests to not require a "python setup.py install" step before running.
+ Reduced recreation of the client to speed up the test.
  + Refactored main() method into one helper
Moved retry logic to separate files

+ Refactored parts of the low level REST calls.
For Larsson :)
Added another case to the login method, where a mostRecent key holds a default username to login as, if not enough arguments are given.