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.
AMQP-351 AMQP-379 Stop Container when Fatal Errors

JIRA: https://jira.spring.io/browse/AMQP-351
JIRA: https://jira.spring.io/browse/AMQP-379

Stop the listener container if there is no listener
or if an incorrect POJO method is specified in the
`MessageListenerAdapter`.