Fix incorrect attribute name in matchmaker_redis

Pass the correct base class attribute name for host topic to
self.register and fix the AttributeError.

Change-Id: Idfe94dd37cdba9f498f79cf87d4fff81e7c4249b
Closes-Bug: #1246308
Merge "Fix incorrect attribute name in matchmaker_redis"
Required pyzmq for 0mq driver

It is possible to import `zmq` module from `eventlet.green` only if an
actual Python interpreter has pyzmq package installed. But `zmq` object is used
within driver unconditionally. Using of `try_import` and obtained
NoneType object instead of `zmq` object causes raising of unobvious exceptions
all around the driver.

Current solution: Fixed `zmq` import from eventlet.green. 'pyzmq' added to
requirements. We need it to test the module. If dispensable imported object
used unconditionally we can stumble an `AttributeError` with `NoneType`.

Alternative: we can continue to use `try_import` with some restrictions.
Before any code from the driver module be used we need to check is `zmq`
not `None` and if it is - raise `ImportError`. If we will not add `pyzmq` to
the requirements we couldn't test the driver with CI gates.

Change-Id: Ib3957a736b0dca2279f439f2099374d2adbf1659
Closes-Bug: #1373350
Reduce global CONF usage in zmq driver

Reduced usage of global CONF object. Implemented a decorator for lazy
options registration. Each essence uses config options is independent
from others. Registered two options groups for zmq driver.

Since this patch the tests require `eventlet`. `eventlet` added to
test-requirements-py3.txt.

Change-Id: I2905cb288617052bf1c039aef000aeeee6468e15
Closes-Bug: #1373382
`publisher`function separated into ZmqProxy method

In the `consume` method of ZmqProxy class declared a function named
`publisher`. This function contains reach socket data sending logic. This
function became the instance method named `_publisher`.

Such an approach is much easier to test and improve logic of the
function.

Change-Id: I769f0616726785a6b0e60d84072f7446b5a29e34
Helper method to check and restrict socket name

ZMQ IPC socket paths limited to 107 characters in length. Thus we need
to check and restrict it.

Closes-Bug: #1367614
Change-Id: I5e7d379e543fd2fd14956482542fe074e9fbca17