add master_sign_key_name and generation of the actual sign-key-files if activated
make MasterKeys() more flexible by allowing different key-names.

MasterKeys() should be able to handle more than one hardcoded key.
The default is still to just handle master.* files but can also generate
new key-pairs with different names and return the pub-key.
fix join()'s to form the correct file names
add key name to logging output
add settings for master and minion to sign the public / verify pubkey signature

Add a setting for the master to generate a new signing key-pair for signing purposes
and use the key-pair to sign the masters public key that is send to authenticated
minions.

Add a setting for the minion to verify the signature of a public key received from
the master. Requires to have the signing key-pair from the master on the minion.
Add optional signing of the master pubkey if enabled in config.

Uses salt.crypt.sign_message() to create a signature of the pubkey
and adds that signature to the payload send to authenticated minions.
add verification of signed master pubkeys

Adds the verification of the master pubkey by checking the pubkey
signature in payload['pub_sig'] with the signing keypairs pubkey.
cleanup and add some more comments
fix path to signing pubkey
verify master pubkey signature on first pubkey connection

previously the minion would take any master pubkey for granted and
write it to minion_master.pub.
cleanup old sreqs if the master changed

Jumping back and forth between different masters will over time add more
and more sreqs to the sreq_cache. That might be ok in MultiMaster, with
signed master-pubkeys, we only want one single master sreq we re-use and
remove all the others.
make function more flexible and work with different master-ips and status
track connected status and re-init subsystems on new master

keep track of self.connected and re-init the zmq-context, poller and
socket, if connecting to a new master
fix event-cal to be correct dict
remove unneeded re import
 pylinting, better log messages, docstrings, no logic changes
correctly check for verify_master_pub_sign when no key accepted before
set sensible default values to ease configuration

signing key-pair settings
master_sign_key_name - name of the signing key-pair, without suffix
master_sign_pubkey - enable/disable signing the public key

signing signature settings
master_pubkey_signature - the pre-computed signature of master.pub + <sign_key>.pem
master_use_pubkey_signature - enable/disable usage of the pre-computed signature

verify_master_pub_sig - enable pubkey signature checking on the minion
switch between signing with own key-pair of usage of pre-computed signature only

if signing the pubkey is enabled, the master will switch between signing the pubkey
on the fly or just adding the pre-computed pubkeys signature to the reply.
if not already present, auto-generate a signing key-pair or use pre-computed signature

if signing the pubkey is enabled, the master will either generate a new signing key-pair
on the fly (if none is found) or use the pre-computed pubkey-signature. if the pre-computed
signature is enabled but not present, the master will complain and exit.