Salt key gen signature

Add signature-generation options and documentation to salt-key for PR #13979.
lets leave salt.crypt.gen_signature where it is so we can keep the openssl based crypto routines as localized as possible in the code. So lets just move salt.key.KeyCLI.gen_signature to salt.key.Key.gen_signature and wrap it like the other methods in salt.key.KeyCLI