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 try/except syntax for Python 3

"except (IOError, errors):" fails with a TypeError if errors is a tuple on
Python 3, whereas it was accepted in Python 2.

Change-Id: I65cfb60af87e76fdf2d37043fb106adbd4586fb9
fix test_rabbit for Python 3

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

Change-Id: If92e60b426ccbba574e63e1603cc3d7507df6c98
Remove unused eventlet/greenlet from qpid/rabbit

Because driver should rely on executor and not directly on eventlet,
delete eventlet/greenlet related code.

qpid/rabbit part.

Change-Id: I20a0850d54b6c6f81957beabb12f7d67f0c1e741
Fix duplicate topic messages for Qpid topology=2

Manually applied ef406a21782134aeefb944f74b3f1a47d6169318 from
oslo-incubator to get the fix required for bug 1257293.

Copying the original commit message from oslo-incubator below.

"""
When multiple RPC servers (consumers) are subscribed to the same RPC
topic, a single RPC request to that topic should be received by only
one of the consumers.  A bug in the QPID driver caused every consumer
to receive a copy of the RPC request.  This bug affects only Topology
version 2.  This patch will cause a single queue to be created for
each topic, and shared among all consumers of that topic.  This
results in each RPC request being received by only one consumer,
in turn across all the competing consumers.
"""

Change-Id: I76bfa5b48bad4a70fbf06b74f4cc8234af6610c2
Closes-bug: #1257293.
Remove copyright from empty files

According to policy change in HACKING:
http://docs.openstack.org/developer/hacking/#openstack-licensing
empty files should no longer contain copyright notices.

Closes-Bug: #1262424
Change-Id: I22d5881537cff120ae10b2fb3141c427d621214b
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
Fix test_notifier_logger for Python 3

 * Get the current line at runtime, don't hardcode the line number
 * Only strip last character of the filename if it ends with ".pyc"
   or ".pyo".  On Python 3, import automatically replaces .pyc and
   .pyo with .py.
 * Use threading.current_thread().ident to get the identifier of the
   current thread. The get_ident() function is available in thread
   module in Python 2, but in threading module in Python 3. And on
   Python 3, logging.thread symbol does not exist anymore.

Change-Id: I3f248bb860caafaf38eefcf440d36b9bebc8f05e
Merge "Fix exception deserialiation on Python 3"
Merge "Minor Python 3 fixes"
Merge "fix test_rabbit for Python 3"
Fix spelling errors in comments

Change-Id: I9f7de85912c687d37661c3301b5898960082fc13
Merge "Fix try/except syntax for Python 3"
Merge "Fix test_notifier_logger for Python 3"
Merge "Fix spelling errors in comments"
Merge "Fix duplicate topic messages for Qpid topology=2"
Removes use of timeutils.set_time_override

The set_time_override function in timeutils was written as a
helper function to mock utcnow for unittests before 'mock' was
generally used. Now that we have mock and fixture, we no longer
need to use it.

Change-Id: I9a0727edab12ccd5f1e4eb4f5f62d588f5a0faee
Partial-Bug: #1266962
Routing notifier

Takes a yaml-based config file
(see etc/oslo/routing_notifier.yaml.sample) via
routing_notifier_config option.

Events may be routed by priority or event_type.

Implements: blueprint configurable-notification
Change-Id: I437dfac348f387044e6da3d6a0bbb208323c1741
Remove dependencies on pep8, pyflakes and flake8

They should be determined by the hacking dependency
implicitely.

Change-Id: I2baec6b652baa2efbbf5dd2ead0eeb91b961210b
python3: Switch to mox3 instead of mox

In order to transition to a python 3.x compatible world,
lets switch to mox3 which is python 3.x compatible drop-in
replacement of mox.

Change-Id: Iaa22779cd516f842c9f70828f863f90ddae0bab5