<!--- 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.3.6.1.4.1.1722.12.2.2.8': ('blake2s256', 'BLAKE2s256'),
    '1.3.6.1.4.1.3029.1.2': ('bf-cbc', 'BF-CBC'),
    '1.3.6.1.4.1.11129.2.4.2': ('CT Precertificate SCTs', 'ct_precert_scts'),
    '1.3.6.1.4.1.11129.2.4.3': ('CT Precertificate Poison', 'ct_precert_poison'),
    '1.3.6.1.4.1.11129.2.4.4': ('CT Precertificate Signer', 'ct_precert_signer'),
    '1.3.6.1.4.1.11129.2.4.5': ('CT Certificate SCTs', 'ct_cert_scts'),
    '1.3.6.1.4.1.11591.4.11': ('scrypt', 'id-scrypt'),
    '1.3.6.1.5': ('Security', 'security'),
    '1.3.6.1.5.2.3': ('id-pkinit', ),
    '1.3.6.1.5.2.3.4': ('PKINIT Client Auth', 'pkInitClientAuth'),
    '1.3.6.1.5.2.3.5': ('Signing KDC Response', 'pkInitKDC'),
    '1.3.6.1.5.5.7': ('PKIX', ),
    '1.3.6.1.5.5.7.0': ('id-pkix-mod', ),
    '1.3.6.1.5.5.7.0.1': ('id-pkix1-explicit-88', ),
    '1.3.6.1.5.5.7.0.2': ('id-pkix1-implicit-88', ),
    '1.3.6.1.5.5.7.0.3': ('id-pkix1-explicit-93', ),
    '1.3.6.1.5.5.7.0.4': ('id-pkix1-implicit-93', ),
    '1.3.6.1.5.5.7.0.5': ('id-mod-crmf', ),
    '1.3.6.1.5.5.7.0.6': ('id-mod-cmc', ),
    '1.3.6.1.5.5.7.0.7': ('id-mod-kea-profile-88', ),
    '1.3.6.1.5.5.7.0.8': ('id-mod-kea-profile-93', ),
    '1.3.6.1.5.5.7.0.9': ('id-mod-cmp', ),
    '1.3.6.1.5.5.7.0.10': ('id-mod-qualified-cert-88', ),
    '1.3.6.1.5.5.7.0.11': ('id-mod-qualified-cert-93', ),
    '1.3.6.1.5.5.7.0.12': ('id-mod-attribute-cert', ),
    '1.3.6.1.5.5.7.0.13': ('id-mod-timestamp-protocol', ),
    '1.3.6.1.5.5.7.0.14': ('id-mod-ocsp', ),
    '1.3.6.1.5.5.7.0.15': ('id-mod-dvcs', ),
    '1.3.6.1.5.5.7.0.16': ('id-mod-cmp2000', ),
    '1.3.6.1.5.5.7.1': ('id-pe', ),