INT-3381: Messaging Annotations on `@Bean` Method

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

* Add support to mark `@Bean` methods with `Messaging Annotations`
* Addition attributes for `Messaging Annotations`
* Some refactoring and fixing
* Fix `AbstractMappingMessageRouter#onInit()` propagation
* Fix `GemfireGroupStoreTests` (https://build.spring.io/browse/INT-MASTERSPRING40-JOB1-246/test/case/135235772)

There is still some side effect: we need define `MessageChannel` beans explicitly. Since methods are processed within `BPP`,
not all beans with `Messaging Annotations` might be processed.

INT-3381: PR comments and other fixes

INT-3381 Polishing

INT-3381: Revert `RouterFB` & `SplitterFB`
INT-3375: Docs for Messaging Annotations

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

INT-3375 Doc Polishing
INT-3393: Move Boot AutoConfig to Boot

JIRA: https://jira.spring.io/browse/INT-3393
INT-3392 Fix Package Tangle

https://jira.spring.io/browse/INT-3392

`TcpDeserializationExceptionEvent` was incorrectly
in the connection package; move to serializer.
INT-3395 Restore MessagingTemplate Constructor

JIRA: https://jira.spring.io/browse/INT-3395
[artifactory-release] Release version 4.0.0.RELEASE
[artifactory-release] Next development version
INT-3397 Add spring-integration-bom

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

Similar to Spring Framework's; see
https://spring.io/blog/2013/12/03/spring-framework-4-0-rc2-available