AMQP-77 Support Multiple Connections with CCF

__For review only at this time - TODOs remain - I wrote most of this code nearly a year ago - and I need to review again myself - but it seems basically functional__


CachingConnectionFactory now supports caching either Channels,
or Connections (default channels).

When channels are cached, a single connection is used.

When connections are cached, a connection is used for each channel.

RabbitAdmin auto declarations are not supported when caching
connections.

JIRA: https://jira.springsource.org/browse/AMQP-77

TODO: Parser (exclusive attrs)
TODO: Tests for listener events, including the Admin WARN log