<!--- 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.0.9797.3.4': ('gmac', 'GMAC'),
    '1.0.10118.3.0.55': ('whirlpool', ),
    '1.2': ('ISO Member Body', 'member-body'),
    '1.2.156': ('ISO CN Member Body', 'ISO-CN'),
    '1.2.156.10197': ('oscca', ),
    '1.2.156.10197.1': ('sm-scheme', ),
    '1.2.156.10197.1.104.1': ('sm4-ecb', 'SM4-ECB'),
    '1.2.156.10197.1.104.2': ('sm4-cbc', 'SM4-CBC'),
    '1.2.156.10197.1.104.3': ('sm4-ofb', 'SM4-OFB'),
    '1.2.156.10197.1.104.4': ('sm4-cfb', 'SM4-CFB'),
    '1.2.156.10197.1.104.5': ('sm4-cfb1', 'SM4-CFB1'),
    '1.2.156.10197.1.104.6': ('sm4-cfb8', 'SM4-CFB8'),
    '1.2.156.10197.1.104.7': ('sm4-ctr', 'SM4-CTR'),
    '1.2.156.10197.1.301': ('sm2', 'SM2'),
    '1.2.156.10197.1.401': ('sm3', 'SM3'),
    '1.2.156.10197.1.501': ('SM2-with-SM3', 'SM2-SM3'),
    '1.2.156.10197.1.504': ('sm3WithRSAEncryption', 'RSA-SM3'),
    '1.2.392.200011.61.1.1.1.2': ('camellia-128-cbc', 'CAMELLIA-128-CBC'),
    '1.2.392.200011.61.1.1.1.3': ('camellia-192-cbc', 'CAMELLIA-192-CBC'),
    '1.2.392.200011.61.1.1.1.4': ('camellia-256-cbc', 'CAMELLIA-256-CBC'),
    '1.2.392.200011.61.1.1.3.2': ('id-camellia128-wrap', ),
    '1.2.392.200011.61.1.1.3.3': ('id-camellia192-wrap', ),
    '1.2.392.200011.61.1.1.3.4': ('id-camellia256-wrap', ),
    '1.2.410.200004': ('kisa', 'KISA'),
    '1.2.410.200004.1.3': ('seed-ecb', 'SEED-ECB'),
    '1.2.410.200004.1.4': ('seed-cbc', 'SEED-CBC'),
    '1.2.410.200004.1.5': ('seed-cfb', 'SEED-CFB'),
    '1.2.410.200004.1.6': ('seed-ofb', 'SEED-OFB'),
    '1.2.410.200046.1.1': ('aria', ),
    '1.2.410.200046.1.1.1': ('aria-128-ecb', 'ARIA-128-ECB'),