AMQP-309 Fix Listener Channel Issue

When an external transaction manager is assigned to the listener
container, the fix for AMQP-260 corrected a problem where the
listener's channel was not used by RabbitTemplates running on
the same thread.

This is required for operations performed by the template to
participate in the same transaction.

However, this was too encompassing in that this did not take
into account that the template might be configured with a
different connection factory.

Add a test to show the template with a different connection
factory incorrectly used the listener's channel.

Add code to only use the listener channel if the client is
requesting a channel from the same connection factory.

Also, do not fetch a connection in the case where the
consumer channel is used (actually a no-op because the
single connection is cached).

Improve debug log during channel registration:

    Registering consumer channelCached Rabbit Channel: AMQChannel(amqp://guest@127.0.1.1:5672/,1) from factory CachingConnectionFactory [channelCacheSize=2, host=localhost, port=5672, active=true]
Merge pull request #95 from garyrussell/AMQP-309

* garyrussell-AMQP-309:
  AMQP-309 Fix Listener Channel Issue
AMQP-308 Add Spring Remoting over AMQP
Add classes to expose and use a spring-remoting-service via amqp

Update @since in javadoc and copyright header to include 2013

Add a test for the remoting classes

Add  @author javadoc and copyright headers

Remove unnecessary test context

AMQP-308 Polishing, Docs

Minor Polishing.

Reference Doc.

Add tests that use RabbitMQ (if available).

Handle timeout on client side (throw exception).

Switch implementation to RemoteInvocation* classes

Added explanation for MessageConverter behavior

Polishing
  remove unused constant
  assert that a replyToAddress is provided and reject permanently if not
  add warning to documentation about permanent loss of messages with no replyTo
Merge pull request #94 from davidbilge/AMQP-308

* AMQP-308c:
  AMQP-308 Add Spring Remoting over AMQP Add classes to expose and use a spring-remoting-service via amqp