change assertEquals to assertEqual

According to http://docs.python.org/2/library/unittest.html
assertEquals is a deprecated alias of assertEqual.

Change-Id: Ibf4d548b86c53f30830b7e34b019fa8f67997cd8
Move test_shell.py under tests/unit/

Looks like test_shell.py got left behind when
the unit tests were relocated under tests/unit.
As a consequence they weren't included in tox
runs.

Change-Id: I93435e6141c5e3ad4a9403626f226d7c760cbd7c
Remove testtools.main() call from tests

There is no testtools.main() at all (this was a
unittest.main() before). Let's remove this unused
and non-working code.

The following code can be used if someone needs
to start tests manually:

    python -m unittest <test_file.py>

Change-Id: Id5162ac73825584df6c23dbe68786ff3355fc6ae
Fix Python3 bugs

This patch fixes three issues that were found running
functional tests with Python 3:

1. python-requests sets 'application/x-www-form-urlencoded' as
   content-type if the input is not a string object and no
   content-type is given.

2. Encoding of the headers is now only done if required. This
   prevents comparisons between unencoded headers and encoded
   prefixes and avoids unnecessary forloop-iterations.
   One unittest was extended to ensure it works for unencoded
   and encoded headers with or without the prefix.

3. Functional tests recently switched to using byte data for
   testing, thus the comparison needs to be a byte object as well.

Change-Id: I035f8b4b9c9ccdc79820b907770a48f86d0343b4
fixed several pep8 issues

  * E111 indentation is not a multiple of four
  * E128 continuation line under-indented for visual indent
  * E265 block comment should start with '# '
  * E713 test for membership should be 'not in'

Tested with pep8 version 1.5.6 (2014-04-14).

Change-Id: I7f85c143d463c501a0df20724362ad5c0f2d4dde
Fix wrong assertions in unit tests

A couple of assertTrue in the test_swiftclient.py
unit tests should be assertEqual. Also, the expected
values now need to be bytes literals.

Change-Id: I7cc1bd60d9ba82d1a28fbae2e1243d3c799451bd
Merge "Remove testtools.main() call from tests"
Merge "fixed several pep8 issues"
Remove extra double quote from docstring

The extra " was visible on

  http://docs.openstack.org/developer/python-swiftclient/swiftclient.html

Change-Id: I7d61c8259a4f13464c11ae7e3fa28eb3a58e4baa
Use Emacs-friendly coding line.

To signal the file encoding to Emacs, one can add a line with

  -*- coding: your-favority-encoding -*-

Python also understands such a line, infact it also understands the
line if it says "encoding" instead of "coding".

However, it is only "coding" that has an effect in Emacs. Furthermore,
since "encoding" is not recognized, Emacs will prompt the user with a
scary looking message when the file is opened:

  The local variable list in __init__.py contains values that may not
  be safe.

Using the correct variable name fixes this.

(The file contain only ASCII characters at the moment, so the line
could alternatively be removed completely.)

Change-Id: Ie6b4f41043bf97bb59e3de403e4794c302d81783
Merge "change assertEquals to assertEqual"
Add importable SwiftService incorporating shell.py logic

This patch adds a SwiftService class that incorporates the high
level logic from swiftclient/shell.py. It also ports shell.py to
use the new class, and updates the code in swiftclient/multithreading.py
to allow the SwiftService to be used for multiple operations whilst
using only one thread pool.

Change-Id: I08c5796b4c01001d79fd571651c3017c16462ffd
Implements: blueprint bin-swift-logic-as-importable-library