AMQP-452: PRC: RemoteInvocResult for exceptions

JIRA: https://jira.spring.io/browse/AMQP-452

When the `body` of the received `message` in the `AmqpInvokerServiceExporter` isn't an instance of `RemoteInvocation`,
we should wrap an appropriate `IllegalArgumentException` to the `RemoteInvocationResult`.
It allows for for `AmqpClientInterceptor` to unwrap the reply correctly and rethrow to the caller.
Dump Default SF to 4.1.3; amqp-client to 3.4.2
AMQP-451 Override 4 Argument send() (Batching)

JIRA: https://jira.spring.io/browse/AMQP-451

Spring Integration always invokes the 4 arg method.
AMQP-451: Support Flushing Batch

JIRA: https://jira.spring.io/browse/AMQP-451

- Add `flush()` to support flushing any partial batch.
- Implement `Lifecycle` and invoke `flush()` when stopped.