19905 - mcollective set timeout header on reply messages

MCollective at present uses real queue named in a temporary fashion to
handle replies this is due to some issues with temporary queues in
ActiveMQ

ActiveMQ is configured to delete unused queues after some time - 30
seconds in our recommended config - but this only works when those
queues are completely empty.

JMS messages have a message time stamp and a message expiry header which
lines up with the creation time in MCollective and the TTL set on the
message object but we never set these headers allowing ActiveMQ to clear
out unconsumed expired messages and so in some cases we find these
temporary queues stuck requiring human intervention.

This commit adds the needed headers allowing ActiveMQ to do proper
housekeeing of its internals
19905 - mcollective set timeout header on reply messages

When publishing messages over RabbitMQ this will set a TTL
on the messages matching mcollective message ttl plus a few
seconds

The kind of problem here is different than with ActiveMQ
since we're concerned with messages sat in the per-node
queues rather than reply queues but its related and worth
fixing here
19905 - mcollective set timeout header on reply messages

Changelog