INT-275: Implement Scatter-Gather pattern

JIRA: https://jira.spring.io/browse/INT-275

In addition fix the `Lifecycle` issue in the `ServiceActivatorAnnotationPostProcessor`
1. Aggregator will be invoked on the calling thread, if all channels are direct. Having `scatterChannel` and `gatherChannel` options allow us to achieve any desired scenarios.

2. `RLR` is required for `Distribution` Scatter-Gather.

3. I understand your wish to get a gather result at the same thread and we can achieve that with Gateway, but we should keep in mind that the scatter process may be enough long. It works now like Delayer: receive in the one thread and produce in the different.

4. However you might be right, because I have a stuck how to get deal with errors on aggregator. From other side we always propagate errors to the caller, but now an Exception on the `MessageGroupProcessor` will impact for the last gather send, when an issue might be for the first.

It isn't clear to me yet what you mean reagarding `gatherTimeout`, but for now let me know if I understood your correctly rgarding Gateway.

Thanks for your feedback anyway