INT-3413 Emit Event When an Agg. Expires a Group

JIRA: https://jira.spring.io/browse/INT-3413

Add MessageGroupExpiredEvent with group metadata
such as message count, last modified, whether
the group was discarded or not.

Conflicts:
	spring-integration-core/src/test/java/org/springframework/integration/aggregator/AggregatorTests.java

Polishing
INT-3403: Upgrade Spring IO Dependencies

JIRA: https://jira.spring.io/browse/INT-3403

* Upgrade to Gradle 1.12
* Make `schemaZip` Windows compatible

INT-3403: Fix the `replaceAll` logic

INT-3403: Apply SS & SWS releases
[artifactory-release] Release version 4.0.1.RELEASE
[artifactory-release] Next development version
INT-3423 Fix Expression-Based Splitter

JIRA: https://jira.spring.io/browse/INT-3423

Consider a message containing "one one" and a splitter
with expression "payload.split(' ')", only one message
is emitted.

The default Collection created by SpEL is a HashSet.

Change the ExpressionEvaluatingSplitter to expect a
List instead of a Collection.
Update to Spring AMQP 1.3.4, Groovy 2.3.1

Also change rabbit tests to use "localhost" explicitly;
newer brokers don't allow guest except on localhost.
[artifactory-release] Release version 4.0.2.RELEASE
[artifactory-release] Next development version