SPR-11468 Allow MessageHeaders Subclasses

JIRA: https://jira.spring.io/browse/SPR-11468

Allow a subclass to override the strategy for (or even
omit) the `ID` and `TIMESTAMP` headers.