Publishers will eventually time out if consumer never reconnects

If a client dies after sending a request to the server, the server may
loop forever retrying to deliver the reply.

Added config rabbit_publish_timeout defaults to 0 sec, no timeout at all.

Change-Id: Id7fb72f88be675d17f47c958c32d1055f967b820
Declare DirectPublisher exchanges with passive=True

If rabbit dies, the consumer can be disconnected before the publisher
sends, and if the consumer hasn't delared the queue, the publisher's
will send a message to an exchange that's not bound to a queue, and
the message wll be lost.  Setting passive=True will cause the
publisher to fail and retry if the consumer hasn't declared the
receiving queue yet.

Closes-Bug: 1338732
Change-Id: I5ba4d311b97236d3a85a9f5badff61f12b08c12d