<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
Allow to specify a new "format" parameter in "openssl_privatekey". Today the output format is decided by a very simple heuristic which requires further commands to work properly.
I need, for example, to generate a RSA private key but in PKCS8 format. The current heuristic uses OpenSSH format for RSA keys and only uses PKCS8 for Ed25519 and similar. This makes me use a "command" with "openssl" to convert the generated key, which leads to idempotency problems and unnecessary complexity.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
openssl_privatekey

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
The current heuristic should be kept unless overwritten by user.

<!--- Paste example playbooks or commands between quotes below -->
```yaml
openssl_privatekey:
  path: /etc/ssl/private/ansible.com.pem
  format: pkcs8
```
The values allowed are `pkcs1`, `raw` and `pkcs8`

<!--- HINT: You can also paste gist.github.com links for larger files -->

'1.2.840.113549.1.1.8': ('mgf1', 'MGF1'),
    '1.2.840.113549.1.1.9': ('pSpecified', 'PSPECIFIED'),
    '1.2.840.113549.1.1.10': ('rsassaPss', 'RSASSA-PSS'),
    '1.2.840.113549.1.1.11': ('sha256WithRSAEncryption', 'RSA-SHA256'),
    '1.2.840.113549.1.1.12': ('sha384WithRSAEncryption', 'RSA-SHA384'),
    '1.2.840.113549.1.1.13': ('sha512WithRSAEncryption', 'RSA-SHA512'),
    '1.2.840.113549.1.1.14': ('sha224WithRSAEncryption', 'RSA-SHA224'),
    '1.2.840.113549.1.1.15': ('sha512-224WithRSAEncryption', 'RSA-SHA512/224'),
    '1.2.840.113549.1.1.16': ('sha512-256WithRSAEncryption', 'RSA-SHA512/256'),
    '1.2.840.113549.1.3': ('pkcs3', ),
    '1.2.840.113549.1.3.1': ('dhKeyAgreement', ),
    '1.2.840.113549.1.5': ('pkcs5', ),
    '1.2.840.113549.1.5.1': ('pbeWithMD2AndDES-CBC', 'PBE-MD2-DES'),
    '1.2.840.113549.1.5.3': ('pbeWithMD5AndDES-CBC', 'PBE-MD5-DES'),
    '1.2.840.113549.1.5.4': ('pbeWithMD2AndRC2-CBC', 'PBE-MD2-RC2-64'),
    '1.2.840.113549.1.5.6': ('pbeWithMD5AndRC2-CBC', 'PBE-MD5-RC2-64'),
    '1.2.840.113549.1.5.10': ('pbeWithSHA1AndDES-CBC', 'PBE-SHA1-DES'),
    '1.2.840.113549.1.5.11': ('pbeWithSHA1AndRC2-CBC', 'PBE-SHA1-RC2-64'),
    '1.2.840.113549.1.5.12': ('PBKDF2', ),
    '1.2.840.113549.1.5.13': ('PBES2', ),
    '1.2.840.113549.1.5.14': ('PBMAC1', ),
    '1.2.840.113549.1.7': ('pkcs7', ),
    '1.2.840.113549.1.7.1': ('pkcs7-data', ),
    '1.2.840.113549.1.7.2': ('pkcs7-signedData', ),
    '1.2.840.113549.1.7.3': ('pkcs7-envelopedData', ),
    '1.2.840.113549.1.7.4': ('pkcs7-signedAndEnvelopedData', ),
    '1.2.840.113549.1.7.5': ('pkcs7-digestData', ),
    '1.2.840.113549.1.7.6': ('pkcs7-encryptedData', ),
    '1.2.840.113549.1.9': ('pkcs9', ),
    '1.2.840.113549.1.9.1': ('emailAddress', ),