Fix misnamed variable in SwiftReader.

actual_md5 was being used instead of _actual_md5 only when assigning
the md5 object. This resulted in all checks and updates of the md5
to be skipped.

When fixed it revealed another bug that the md5 of the read content
is always checked even if there is no _expected_etag.

Added tests

Change-Id: Iaf1e21324ce592049d02cd5be123604b99833e86
Add unit tests for _encode_meta_headers

Also move it to a module level function.
Change-Id: I2da64876815619a6db7ff208061df2191767806c
Merge "Fix misnamed variable in SwiftReader."
Capture test output better

This change adds some new classes to test.unit.utils which wrap up the
collection and mocking of the std err and std out.  This will make the
testing code easier to write and maintain.

Change-Id: I50ad2a736b2bb550ab83f6a43fb5a0fb5393573e
Show warning when auth_version >= 2 and keystoneclient is missing

Swiftclient hangs forever without any reasonable hint if someone
uses a recent version of swiftclient together with auth version
2 or later. The reason for this is the sys.exit() call in a thread
- the main thread never exists, and swift just waits forever.

Raising a ClientException instead of calling sys.exit() fixes this
and returns the desired information back to the user.

Change-Id: I1fdff85da2dd4b883d337d6098b1695e448d6f2b
Workflow documentation is now in infra-manual

Replace URLs for workflow documentation to appropriate parts of the
OpenStack Project Infrastructure Manual.

Change-Id: I7513a141c95f3126ad348ed679b2baa335bdf45f
Fix misnamed dictionary key.

The response dictionary in _delete_segment attach's any error
it encounters to the dict key 'exception', all other response
dict's use 'error' to store the exception.

Changed to make it consistent and added tests

Also added a third branch in st_delete as messages
created in _delete_container where being silently dropped.

Change-Id: Ifbc3b1fae78910fbc6acf4a86cfb0f60bb1aa336
Merge "Fix misnamed dictionary key."
Merge "Show warning when auth_version >= 2 and keystoneclient is missing"
merged with upstream

Merge remote-tracking branch 'upstream/master'