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
AMQP-313 - Upgrade build to use SonarRunner Plugin

* Upgrade to Gradle 1.6
Add constructor call to support delegate and method name

When configuring Spring Rabbit with pure Java config, it's easier with
a constructor call that lets you specify the delegate and the POJO method
name at once.

```java
	public MessageListenerAdapter(Object delegate, String defaultListenerMethod) {
		this(delegate);
		setDefaultListenerMethod(defaultListenerMethod);
	}
```

This constructor lets me setup java config like this:
```java
	@Bean
	MessageListenerAdapter listenerAdapter() {
		return new MessageListenerAdapter(new Receiver(), "receiveMessage");
	}
```

P.S. This patch includes automated unit tests to verify the new constructor
method signature.
Merge pull request #98 from gregturn/AMQP-315

* AMQP-315:
  Add constructor call to support delegate and method name
AMQP-308 Fix Javadoc Issue
AMQP-289 More Doc Polish

There was another place where NONE was indicated as being the
default ack mode.
AMQP-310 Don't Reject on a Container Stopping Ex.

Previously, if defaultRequeueRejected is false (default true) and
the container was stopped while processing a message, that message
would be rejected.

Add code to detect that the exception is caused by the
container stopping.

Add a test case.

Clean up BlockingQueueConsumerTests test method names to
make the intent clearer.
Merge pull request #96 from garyrussell/AMQP-310

* garyrussell-AMQP-310:
  AMQP-310 Don't Reject on a Container Stopping Ex.
AMQP-292 Make Message Serializable

Allow for temporary storage without conversion.
Merge pull request #103 from garyrussell/AMQP-292

* garyrussell-AMQP-292:
  AMQP-292 Make Message Serializable
AMQP-314 Fix Package Tangle

Move ConsumerChannelRegistry from support to connection.
Merge pull request #101 from garyrussell/AMQP-314

* garyrussell-AMQP-314:
  AMQP-314 Fix Package Tangle
AMQP-320 Improve Reply Container Docs

Explain how to wire up the reply container if the
namespace is not being used to define the template.
Merge pull request #99 from garyrussell/AMQP-320

* garyrussell-AMQP-320:
  AMQP-320 Improve Reply Container Docs
AMQP-319 Don't Suppress Listener Stack Traces

Currently, fatal listener startup exceptions only get
the full stack trace logged if logging at DEBUG level.

This makes diagnostics difficult in production.

Only suppress the full stack trace at WARN level if
the fatal exception is an `AmqpConnectException`.
Merge pull request #100 from garyrussell/AMQP-319

* garyrussell-AMQP-319:
  AMQP-319 Don't Suppress Listener Stack Traces
AMQP-321 Update RabbitMQ Client to 3.1.1