AMQP-283/284 Upgrade to RabbitMQ 3.0.0

AMQP-283 Upgrade Rabbit Client to 3.0.0.

AMQP-284 Deprecate immediate (publish) flag, Deprecate
Federated Exchanges.

Exchange Federation is no longer configured using
exchange declaration.

Federation: Pre 3.0
Configuration lives in the configuration file.
You must ensure all nodes in a cluster have the same configuration.
The broker must be restarted for changes to take effect.
Federated exchanges are of a special type, and must be declared as such by AMQP clients.

Federation: 3.0
Configuration is stored in the broker database, manipulated with rabbitmqctl or the management plugin.
All nodes in a cluster automatically have the same configuration.
Changes to federation take effect immediately.
Federated exchanges are transparent to clients; exchanges can become federated at any time.

AMQP-287 Add Configurable Consumer Start Timeout

See https://jira.springsource.org/browse/AMQP-287

Allow the configuration of an increased timeout for when
SYN packets are dropped.

Revert "AMQP-287 Add Configurable Consumer Start Timeout"

This reverts commit d80fb35070cd53eac9e79fff1e395e28a270521a.

AMQP-283 Fix Typos in Schema Docs

PR Review

AMQP-287 Slow Startup is No Longer Fatal

Previously, if the consumer failed to start within 60 seconds
it was considered fatal. If the server is down and the network
is configured to take more than 60 seconds to report dropped
SYN (socket open) packets, the context would fail to initialize.

This is not consistent with, say, when the server is up but the
broker is down. In that case, the connection failure is detected
immediately, and the consumer starts attempting to reconnect - it
is NOT considered a fatal exception.

This change removes the fatal exception thrown when the consumer
fails to start in the 60 seconds (while still waiting for up to
60 seconds to see if a real fatal exception occurred).

Note that a real fatal exception (such as failure to declare the
queue(s) passively) will still cause the context to fail to initialize,
if it occurs within 60 seconds of the consumer starting.
Merge pull request #78 from garyrussell/AMQP-287

* AMQP-283/284/287

Upgrade to RabbitMQ 3.0.0

Deprecate immediate (publish) flag

Deprecate Federated Exchanges

Add Configurable Consumer Start Timeout
AMQP-293 - Upgrade Gradle Wrapper to 1.4
For reference see https://jira.springsource.org/browse/AMQP-293
Merge pull request #79 from ghillert/AMQP-293

* AMQP-293:
  AMQP-293 - Upgrade Gradle Wrapper to 1.4 For reference see https://jira.springsource.org/browse/AMQP-293
AMQP-295 Fix Version in QuickStart

The <version/> element in the maven dependency
stanza in the quick start was obsolete.

Use newer version of gradle docbook plugin that
now supports replacing the ${version} placeholder
in files other than index.xml.

Update build.gradle to add the quick start chapter
to the 'expandPlaceholders' property.

Change quick start chapter to use the ${version}
placeholder.
Merge pull request #80 from garyrussell/AMQP-295

* AMQP-295: Fix Version in QuickStart
AMQP-281 Shut Down Timer in AMQP Appender

When using the AMQP log4j appender, it
can cause orphaned daemon threads when undeploying WARs.

Also, when exiting main() methods, apps should call
Log4jConfigurer.shutdownLogging(); in a finally block
to destroy() the connetion factory (releasing threads
used by the rabbit client).
Merge pull request #81 from garyrussell/AMQP-281

* AMQP-281: Shut Down Timer in AMQP Appender
AMQP-282 Log4j Appender - Configurable Charset

A charset is used when converting the message body
String to a byte[] to send to AMQP.

For backwards compatibility, the appender uses the
system charset by default, but now allows the charset
name to be specified in the log4j configuration...

log4j.appender.amqp.charset=UTF-8
Merge pull request #82 from garyrussell/AMQP-282

* AMQP-282: Log4j Appender - Configurable Charset
Update Reference Manual Copyright (2013)
AMQP-283 Bump Rabbit Client to 3.0.3
AMQP-298 What's New Documentation
Merge pull request #86 from garyrussell/AMQP-298

* garyrussell-AMQP-298:
  AMQP-298 What's New Documentation
AMQP-289 Documentation Fixes

Default acknowledgeMode was incorrect.

* Clarify txSize.
* Adjust column width
* Left-align column 2
Merge pull request #83 from garyrussell/AMQP-289

* garyrussell-AMQP-289:
  AMQP-289 Documentation Fixes
AMQP-294 Remove Class and Package Tangles

Move Consumer Channel Registry methods to new class to avoid
a class tangle between RabbitResourceHolder and ConnectionFactoryUtils.

Move exception translation to a new support class to avoid package
tangle between connection and support.
Merge pull request #87 from garyrussell/AMQP-294

* garyrussell-AMQP-294:
  AMQP-294 Remove Class and Package Tangles
AMQP-266/296/297 Allow Admin to Continue After Err

* AMQP-296 Update Spring Framework dependency version to 3.1.3
* AMQP-266 Add option to allow Admin to continue after exception.

Currently, if the Rabbit Admin hits an exception while declaring Queues etc, it aborts the entire process. An exception can be caused if, say, the 'x-message-ttl` attribute is mismatched with that currently configured on the broker.

* Add an option that allows declarations to continue after exceptions, while logging (WARN) any exceptions encountered.
* AMQP-297 Add RabbitAdmin.getQueueProperties()
* Used in the above test to verify presence, or otherwise of queues during Admin declarations.
* Returns message and consumer counts for the queue.
* Bump rabbit-client dependency version to 3.0.4
AMQP-301 Remove Spring 3.1 Deprecations

XmlBeanFactory is deprecated; replace with a
DefaultListableBeanFactory loaded by an XmlBeanDefinitionReader.