INT-275: Implement Scatter-Gather pattern

JIRA: https://jira.spring.io/browse/INT-275

In addition fix the `Lifecycle` issue in the `ServiceActivatorAnnotationPostProcessor`
1. I realize that, but I anticipate most will want to scatter in parallel, while blocking (similar to enricher - so maybe that would be a better model - use a similar model to `ContentEnricher`).

2. ?

3. I think the general use case is similar to the enricher (block); if they want async they can use an exec. channel upstream.

4. No comment

I mean let's say we scatter to 3 consumers but only 2 return a reply; we need to have the calling thread timeout and expire the group early, discard or partial release, depending on aggregator settings. If we use the group-timeout instead, it will be run on the scheduler - how do we wake the caller in that case?