the module serves 3 purposes:
* it extends Mail::DKIM::Signer:
* it provides a glue layer between MIME::Entity's output method (which
expects print and uses \n as line terminator) and Mail::DKIM::Signer's
PRINT method (which expects \r\n)
* it integrates with PMG's config
* the domain which should be used for signing is selected based on the
sender's e-mail address and the DKIM-settings in PMG-configuration
* it provides a method which takes a MIME::Entity and returns it with
signature
* certain headers get oversigned (in order to prevent adding a previously
non-existing header (e.g. Reply-To) and retaining a valid signature).
the list of headers which are oversigned is inspired by rspamd's choice [0].
for rationale see [1,2]
* it provides methods for handling selectors and keys.