AMQP-451 Batching RabbitTemplate

JIRA: https://jira.spring.io/browse/AMQP-451

__Released in stealth mode for now (no docs, javadocs marked `Experimental`).__

This feature is to support XD; we can't incubate in XD because it needs a
change to the listener container.
If we have trouble decoding the message, we need to throw a `LEF` so the consumer doesn't abort; it continues onto the next message. The `LEF` doesn't have a constructor without a Throwable and it didn't seem right to pass in null.

However, I now see that the nested exception must be a `MessageConversionException` so that the default error handler will prevent this message from being requeued.