INT-3417: Polishing Docs for `MessageHeaders`

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

Polishing

Add note about using the accessor.
INT-3448: Add `@Async` test for `@Gateway`

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

INT-3448: Addressing PR comments

Late Resolution of @Publisher.defaultChannel

Early resolution of the publisher default channel caused
`@ Configuration` factory beans to be instantiated before
Spring Integration bean post processors had been registered.

Use the channel name instead of channel reference and resolve
it when processing the first publish.

Merge branch 'INT-3448' of https://github.com/garyrussell/spring-integration into INT-3448

Conflicts:
	spring-integration-core/src/test/java/org/springframework/integration/configuration/EnableIntegrationTests.java

INT-3448: Polishing
[artifactory-release] Release version 4.0.3.RELEASE
[artifactory-release] Next development version
INT-3469 MQTT - Set Callback Before Subscribing

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

Previously, the callback was set immediately after
subscribing which caused a small possibility of
message loss.

Set the callback before subscribing.
INT-3470: SF 4.1 Compatibility #2

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

* Apply the last `ChannelInterceptor` changes - just `extends ChannelInterceptorAdapter`
* Change some tests to check content according to the new changes to the `GenericMessage#toString()`

**Cherry-pick to 4.0.x**
INT-3473: Set Inactive `TcpNioFactory` Before Stop

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

A simple fix to prevent `Selector closed` error loging message on `TcpNioServerConnectionFactory#stop()`

Polishing
INT-651: Add `Iterator` Support for `Splitter`

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

INT-651: Polishing according PR comments

INT-651: Polishing #2

Doc Polishing
INT-651 Use Local 'Function' Interface

Avoid adding a new dependency after backport.
INT-651 Suppress Deprecation Warnings