<!--- 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 -->

'2.16.840.1.113730.1.2': ('Netscape Base Url', 'nsBaseUrl'),
    '2.16.840.1.113730.1.3': ('Netscape Revocation Url', 'nsRevocationUrl'),
    '2.16.840.1.113730.1.4': ('Netscape CA Revocation Url', 'nsCaRevocationUrl'),
    '2.16.840.1.113730.1.7': ('Netscape Renewal Url', 'nsRenewalUrl'),
    '2.16.840.1.113730.1.8': ('Netscape CA Policy Url', 'nsCaPolicyUrl'),
    '2.16.840.1.113730.1.12': ('Netscape SSL Server Name', 'nsSslServerName'),
    '2.16.840.1.113730.1.13': ('Netscape Comment', 'nsComment'),
    '2.16.840.1.113730.2': ('Netscape Data Type', 'nsDataType'),
    '2.16.840.1.113730.2.5': ('Netscape Certificate Sequence', 'nsCertSequence'),
    '2.16.840.1.113730.4.1': ('Netscape Server Gated Crypto', 'nsSGC'),
    '2.23': ('International Organizations', 'international-organizations'),
    '2.23.42': ('Secure Electronic Transactions', 'id-set'),
    '2.23.42.0': ('content types', 'set-ctype'),
    '2.23.42.0.0': ('setct-PANData', ),
    '2.23.42.0.1': ('setct-PANToken', ),
    '2.23.42.0.2': ('setct-PANOnly', ),
    '2.23.42.0.3': ('setct-OIData', ),
    '2.23.42.0.4': ('setct-PI', ),
    '2.23.42.0.5': ('setct-PIData', ),
    '2.23.42.0.6': ('setct-PIDataUnsigned', ),
    '2.23.42.0.7': ('setct-HODInput', ),
    '2.23.42.0.8': ('setct-AuthResBaggage', ),
    '2.23.42.0.9': ('setct-AuthRevReqBaggage', ),
    '2.23.42.0.10': ('setct-AuthRevResBaggage', ),
    '2.23.42.0.11': ('setct-CapTokenSeq', ),
    '2.23.42.0.12': ('setct-PInitResData', ),
    '2.23.42.0.13': ('setct-PI-TBS', ),
    '2.23.42.0.14': ('setct-PResData', ),
    '2.23.42.0.16': ('setct-AuthReqTBS', ),
    '2.23.42.0.17': ('setct-AuthResTBS', ),