INT-3346: Add `@Id` to `CMDbMS.MessageDocument`

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

An `@Id` field is required when MongoDB auditing
is enabled in the ApplicationContext.

This change does not make the document Auditable,
it just prevents an exception being thrown when
auditing is enabled.
INT-3337: `MongoDbMessageStore` refactoring

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

* Introduce `MessageReadingMongoConverter` (similar to `MongoDbMessageStore.MessageReadingMongoConverter`)
* Change tests to use `ConfigurableMongoDbMessageStore` with `MessageReadingMongoConverter`
INT-3337: Addressing PR comments
INT-3337: Add support to store/read Messages

* Add for `MessageDocumentMongoConverter` custom `converters` for all known `Message<?>` type
* Add `MessageDocumentFields`
* Add support to store/read `ErrorMessage`. As a trick for `Throwable` is selected (de)serializing converter
INT-3337: Add converters for `Message<?>` impls
INT-3337: Make `MDbMS.MessageWrapper` AuditAware

Add `_id` persistence field