Support for asynchronous message communication with Spring Cloud Stream on RabbitMQ

@DannyT if you are relying on the Kafka plugin, be aware that the internal APIs we use to compute the outgoing trace context header and create a transaction based on it in the consumer side are about to change.
In addition, it uses binary headers, as this is what expected in Kafka. If you need to send text headers, you can use out API, as described in this topic for example.