halfway change
5_swift-drv: swift driver impl.
5_swift-drv: libraries and tox fixes
merge from master
5_swift-drv: pep8 fix
5_swift-drv: tox deps fix
5_swift-drv: tox deps fix
5_swift-drv: fix swift import issue
5_swift-drv: add db mocking and db module switch in  configs
5_swift-drv: fix module StringIO compatibility
S31_valid_written_block_hash: check sha1 in block controller
Merge remote-tracking branch 'repo/master' into 5_swift-drv
5_swift-drv: fix json syntax in config.py
S31_valid_written_block_hash: Move hash validation logic from controller to model
Merge remote-tracking branch 'repo/master' into 5_swift-drv
5_swift-drv: 1. disk and swift share same testing suites. 2. swift mocking use real disk read write.
5_swift-drv:  driver calcs and submits md5 etag and checks returned etag
5_swift-drv: 1. swift drv fixes md5 digest.  2. add a missed API for swift
Merge remote-tracking branch 'repo/master' into S31_valid_written_block_hash
S31_valid_written_block_hash: Using a more specific exception type