Harden disk-based message cache and implement size limit

The implementation of the disk-based message cache using MapDB now supports additional
settings for various parts of the message spool:

* `message_cache_max_size` for specifying the maximum size of the on-disk spool files
(default: off)
* `message_cache_compaction_interval` for specifying the interval in which the on-disk
spool files should be compacted (default: off)
* `message_cache_enable_compression` for enabling a lightweight compression algorithm
when writing to the on-disk spool files (default: off)

Closes #731