INT-275: Implement Scatter-Gather pattern

JIRA: https://jira.spring.io/browse/INT-275

In addition fix the `Lifecycle` issue in the `ServiceActivatorAnnotationPostProcessor`
I think we need to come up with a scheme for the aggregator to be invoked on the calling thread.

To invoke the scattered requests in parallel, the channels downstream of the `RLR` would have to be `ExecutorChannel`s. That would mean the calling thread here would exit immediately.

(BTW, it's not clear to me why we need the `RLR` option; why not just use a pub/sub channel with an executor if we want async processing of the scatters).

I think people will have a (reasonable) expectation that the aggregated results will be released on the calling thread.

Similarly, we should have the calling thread expire the group if the `gatherTimeout` is exhausted. I don't think simply setting the `receiveTimeout` if the `gatherChannel` is pollable is sufficient; the partial group will remain in memory indefinitely. Using a group timeout might work but, again, the release would be on a different thread, not the caller.