Fix exception deserialiation on Python 3

Builtin exceptions are now in the builtins module, the exceptions module has
been removed.

Fix also the unit test for tracebacks, Unicode representation doesn't start
with "u" prefix anymore (u'...').

Change-Id: I422be457e23066699950c9a3999878ecf65f1b3f
fix test_rabbit for Python 3

Replace range() with list(range()), range() returns a read-only "range" object
in Python 3.

Change-Id: If92e60b426ccbba574e63e1603cc3d7507df6c98
Minor Python 3 fixes

basestring does not exist anymore in Python 3: use six.string_types instead.

In "try: .../except Exception as err: ...", err is a local variable, it does no
more exist after the except block. Copy the exception in a new cls_error
variable to fix Python 3 support.

Extract of Python 3 documentation: "When an exception has been assigned using
as target, it is cleared at the end of the except clause. (...) Exceptions are
cleared because with the traceback attached to them, they form a reference
cycle with the stack frame, keeping all locals in that frame alive until the
next garbage collection occurs."

http://docs.python.org/3.3/reference/compound_stmts.html#try

Change-Id: I2efb14b3838f78d1ed5e09b3ccd4e796a3448aee
Merge "Fix exception deserialiation on Python 3"
Merge "Minor Python 3 fixes"
Merge "fix test_rabbit for Python 3"