Fix problem with long messages in Qpid

Qpid has a limitation where it cannot serialize a dict containing a
string greater than 65535 characters. This change alters the Qpid
implementation to JSON encode the dict before sending it, but only if
Qpid would fail to serialize it. This maintains as much backward
compatibility as possible, though long messages will still fail if they
are sent to an older receiver.

Even though this change will modify the message format, it will only do
it when messages are longer than 65K which would be broken anyway and
could cause serious bugs like the one linked below.

Fixes bug 1215091

(cherry picked from commit 7ce54410485b33cffc39c7ffb96eae422b88601c)

Conflicts:
	openstack/common/rpc/impl_qpid.py

Change-Id: I2f0e88435748bab631d969573d3a598d9e1f7fef