Add documentation explaining how to use the AMQP 1.0 driver

Change-Id: I076ccff2b34be3ecf07cdcd0bb9753997c1e3218
Closes-Bug: #1367910
Switch to oslo.serialization

Change-Id: I24be947cfc2d9ce60e65054e6562e544b1e21195
Imported Translations from Transifex

Change-Id: I2488afc8064ccfdc7ea7218aa32d0b17b3e0fa2a
Updated from global requirements

Change-Id: I3ca1464ef5a1dadcc8f030caf7e62135492d05a2
Merge "Add documentation explaining how to use the AMQP 1.0 driver"
Merge "Updated from global requirements"
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.

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`.

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.

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