Use quote/unquote from six module for py3

Change-Id: I42cff32fbf3febd6dd6a7171b9214f93b4414f9a
Remove validate_headers

It wasn't used anymore since moved up to requests (and it fails in py3).

Change-Id: Ic8a80ae09ca6445696a9cf34ffb503c5ff51bc79
Fix test_raw_upload test

We were testing the test but we were not testing that we have actually
properly uploaded the object with the right content-len

(and it was broken under py3)

Change-Id: Ifa91c30532090cac9f8e18ff18eaf5e6c98737d1
Merge "Use quote/unquote from six module for py3"
Merge "Remove validate_headers"
Updated test_shell for Python3

Change-Id: Ia76e544fa6e0a222c260191a1ab74939078ed2fb
Merge "Fix test_raw_upload test"
Fix up StringIO use in tests for py3

Some spots in this file were already referencing six.StringIO, but
some were still using StringIO.StringIO, which does not work on
py3. This patch just makes them all use six.StringIO and removes the
now-unused (and wrong, on py3) import.

Change-Id: I3c7311c3983f4eb409eedb6f85ede6ffe4059e63
Fixed several shell tests on Python3.

They currently fail because on Python3 arbitrary objects cannot be compared, in
this case, MagicMock and int. In Python2 these comparisons silently pass.

Change-Id: I468c2137702a454365886099e827d329cb1d7209
Merge "Updated test_shell for Python3"
Merge "Fix up StringIO use in tests for py3"
Merge "Fixed several shell tests on Python3."