INT-3420 Aggregator Expiry Doc Clarification

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

New documentation implied that if `expire-groups-upon-timeout`
was true, the group would NOT be removed if the group
was released by the release strategy in `forceComplete()`.

"...if it does so, then expiration is controlled by..."

In fact, `afterRelease()` (which is where `expire-groups-upon-completion`
is only invoked if `expire-groups-upon-timeout` is false.

Clarify that if the release strategy releases the group during timeout
then the group will always be expired if `expire-groups-upon-timeout` is
true (default).
Add Sftp Server Tests

Using Apache Mina
SftpServerTests: BASE64Decoder -> apache..Base64
INT-2634: Test for gateway's `Map` parameter

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

The Map entries with non-String keys are now skipped just with WARN message,
instead of `IllegalArgumentException` as it was before
INT-3200: SFTP: use `byte[]` for the PrivateKey

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

INT-3200: Remove reduntant test case

INT-3200: remove trailing space
Update CONTRIBUTING.md
Fix Occasional Reaper Expiry Test Failure

https://build.spring.io/browse/INT-MJATS41-32/

Also add a test for expiring a group within an aggregator.

Polishing
INT-3384: Rework JMS/XML Module XSD Enumerations

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

Polishing
Fix Timing in GemFire Delayer Reschedule Test

https://build.spring.io/browse/INT-MEIGHT-JOB1-166
INT-3412 (S)FTP Append, rmdir, Client Access

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

Initial commit - review only.

TODO:
- SFTP Tests
- Namespace/Adapter support for file append
- Docs

INT-3412 Polishing

- Addressed PR comments
- Completed SFTP implementation
- Added namespace/parser support for `FileExistsMode` (append, etc)
- Added SFTP Tests
- Created Embedded SFTP server for tests (similar to FTP)
- Converted tests that needed a real server to use the embedded server

INT-3412 Docs and Polish (PR Comments)
INT-3402: Late Resolution for Channel Names

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

* Move `channel name to channel` resolution logic to the action, e.g. `sendReplyMessage`
* Remove resolution logic from `MessagingAnnotation` Processors
* Fix `AggregatorAnnotationPostProcessor` to invoke `handler.afterPropertiesSet()` one more time,
because of `AbstractMethodAnnotationPostProcessor` `this.beanFactory.initializeBean(handler, handlerBeanName)`
* `Filter` annotation: allow `property-placeholder` for the `discardWithinAdvice`
* Fix `EnricherParserTests4-context.xml` duration: use just `0` for the `reply-timeout`

INT-3402: Add `synchronized double check`

INT-3402: Polishing according PR comments

INT-3402: Optimization for `AbstractCorrelatingMH`
INT-2474: MGS: logging Exception at debug level

JIRA: https://jira.spring.io/browse/INT-2474
INT-3460: merge master code and polishing