AMQP-72: Add AmqpTemplate#receiveAndReply Methods

JIRA: https://jira.springsource.org/browse/AMQP-72

AMQP-72: PR Comments and others

* rename all methods to `receiveAndReply`
* Return `boolean` flag from `receiveAndReply`: was message received or not
* Add methods with `ReplyToAddressCallback`
* JavaDocs & Reference Manual

AMQP-72: wrap receiveAndReply with doInRabbit

* Add transactional tests

AMQP-72: Fix doReceiveAndReply channel.txCommit()

AMQP-72: Add correlationId to replyMessage

AMQP-72: Use `correlationKey` for receiveAndReply

AMQP-72: Correlation and Docs Polishing

Add `catch (ClassCastException e)` for `callback.handle()`

Polishing

Add a test using a String in a non-standard correlationKey.