Prevent a keyerror when cloud mapping

removed the requirement that 'minion' must be in nodedata if 'minion' is in overrides. this requirement threw a keyerror on me.
Add docs for boto_elasticache and apache_module
Add missing generated rst
Merge remote-tracking branch 'upstream/develop' into develop
Merge remote-tracking branch 'upstream/develop' into develop
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.
Merge remote-tracking branch 'upstream/develop' into sign_master_keys
cleanup and add some more comments
fix path to signing pubkey
lint fixes
Merge remote-tracking branch 'upstream/develop' into develop
Attempt to fix race condition
Merge remote-tracking branch 'upstream/develop' into sam_raet_46
Unit tests for is_provider_configured function in salt.config.py