INT-2899: remove redundant logic from Aggregator

Before `AggregatingMessageHandler#setExpireGroupsUponCompletion` had additional logic
for removing complete MessageGroups. It could produce some overhead on application start-up with big persistent `MessageStore`.
This logic played a role to clean `MessageStore` from empty groups.
Since `AbstractCorrelatingMessageHandler#forceComplete` had had an ability to to remove empty groups too,
Mentioned logic became redundant.
So, if we're going to clean `MessageStore` from empty complete groups it's enough to use `MessageGroupStoreReaper` on it.
From other side: if some MessageGroup is complete and not empty, how it became it such state?..
Nor `<aggregator>`, neither <resequencer> don't have similar logic.

* Remove logic about iteration over `MessageStore` from `AggregatingMessageHandler#setExpireGroupsUponCompletion`
* Polishing `AggregatorSupportedUseCasesTests.java` to use `store.expireMessageGroups(0)`
* Introduce `empty-group-time-to-live-on-expiry` xml-attribute based on `AbstractCorrelatingMessageHandler#minimumTimeoutForEmptyGroups`
* Add parser's tests for `empty-group-time-to-live-on-expiry` attribute

JIRA: https://jira.springsource.org/browse/INT-2899
INT-2899: Documentation about changes of ACMH

* rename new XSD-attribute to `empty-group-min-timeout`
* get rid of `Assert` from `AbstractCorrelatingMessageHandlerParser`
* add to Reference Manual description about `empty-group-min-timeout`
* add 'What's new' for `empty-group-min-timeout`
* add 2.2-3.0 Migration Guide note