INT-3571: Propagate Lifecycle from SPCA to MS

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

**Cherry-pick to 4.0.x**

Introduce `LifecycleMessageSource` for `maint` versions to avoid undesired side-effects with already existing `... implements MessageSource<T>, Lifecycle`.
INT-3568: Improve `Endpoint Summary`

JIRA: https://jira.spring.io/browse/INT-3568
INT-3563: Add router's `id` to the MDException

JIRA: https://jira.spring.io/browse/INT-3563
INT-3572: Improve Accept Once Filter Performance

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

Previously, a blocking queue was used to hold seen files; this was used to enable
FIFO when a max capacity is set.

When used with no capacity, a queue is not needed; also the `contains` operation
on a queue requires a linear search which does not scale well for a large number
of files.

Use a `HashSet` instead to significantly improve the `contains` performance.

Only maintain a queue if a max capacity is set.

Fix `AcceptOnceFileListFilterTests` to be compatible with Java < 8