Add RabbitMessagingTemplate

This commit provides a Rabbit implementation of standard messaging interfaces available in the spring framework. These are `MessageSendingOperations` for sending standard Messages, `MessageReceivingOperations` to receive a protocol specific content and return the standard `Message` counter part and `MessageRequestReplyOperations` to send a message a wait for a reply.
general access to the underlying configured template. Use case: you create an instance and later one you'd like to change a default that the template uses.