Enable user authentication in the AMQP 1.0 driver

The TransportHost class allows user credentials to be supplied as part
of the URL that identifies the host.  Prior to this patch, these
credentials - username and password - were ignored by the AMQP 1.0
driver.  This prevents connections to a message broker that has been
configured to use SASL PLAIN authentication.

Closes-Bug: #1385445
Change-Id: Ib9279ed40b0f4cff62e1c742069c8f49f5625659
Add basic tests for 0mq matchmakers

Basic unit tests for in-memory (localhost), ring and Redis based
matchmakers.

Redis tests are opportunitic based on a redis-server being installed
and running.

Test are currently skipped under py3 due to direct dependency on
eventlet.

Co-Authored-By: Kapil Thangavelu <kapil.thangavelu@canonical.com>
Change-Id: I59c4d095033370ab94f645af0d50e2502530f816
Partial-bug: #1302941
Create ZeroMQ Context per socket

ZeroMQ Context is a singleton and thus is created only once. This leads
to problems when there is more than one process working with it.
For example, while Neutron server starts, it firstly loads core
plugin and service plugins, which start message handling server,
and only then forks to create api-workers. As a result, all child
processes get the same copy of the context.

Creating new Context for each socket will prevent such situations
from happening and will guarantee that each process works with its
own Context.

Change-Id: I56912e39b119c20f6f23311fc2c7c4b9e9e480d0
Closes-Bug: #1364814
Allows to overriding oslotest environ var

This patch allows to override the oslotest environ variables
in the testr configuration

Change-Id: Ifec93f20446038f0af2ee9bae62b2aa6e97194a5
Merge "Allows to overriding oslotest environ var"
Merge "Create ZeroMQ Context per socket"
Merge "Enable user authentication in the AMQP 1.0 driver"
Merge "Add basic tests for 0mq matchmakers"