##### SUMMARY
Setting [openssl_csr](https://docs.ansible.com/ansible/latest/modules/openssl_csr_module.html)'s `version` parameter has no effect in ansible 2.8.4; it always remains the default (1).

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
openssl_csr

##### ANSIBLE VERSION
```
ansible 2.8.4
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/bilge/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.15+ (default, Nov 27 2018, 23:36:35) [GCC 7.3.0]
```

##### CONFIGURATION

```yaml
- name: Generate CSR
  openssl_csr:
    privatekey_path: /tmp/private.pem
    path: /tmp/csr
    subject_alt_name: DNS:example.com
    version: 3
```

##### EXPECTED RESULTS

```
Certificate Request:
    Data:
        Version: 3 (0x2)
```

##### ACTUAL RESULTS

>$ openssl req -in /tmp/csr -noout -text

```
Certificate Request:
    Data:
        Version: 1 (0x0)
```
try:
                getattr(crypto.X509Req, 'get_extensions')
            except AttributeError:
                module.fail_json(msg='You need to have PyOpenSSL>=0.15 to generate CSRs')
            module.deprecate('The module is using the PyOpenSSL backend. This backend has been deprecated', version='2.13')
            csr = CertificateSigningRequestPyOpenSSL(module)
        elif backend == 'cryptography':
            if not CRYPTOGRAPHY_FOUND:
                module.fail_json(msg=missing_required_lib('cryptography >= {0}'.format(MINIMAL_CRYPTOGRAPHY_VERSION)),
                                 exception=CRYPTOGRAPHY_IMP_ERR)
            csr = CertificateSigningRequestCryptography(module)
        if module.params['state'] == 'present':
            if module.check_mode:
                result = csr.dump()
                result['changed'] = module.params['force'] or not csr.check(module)
                module.exit_json(**result)
            csr.generate(module)
        else:
            if module.check_mode:
                result = csr.dump()
                result['changed'] = os.path.exists(module.params['path'])
                module.exit_json(**result)
            csr.remove(module)
        result = csr.dump()
        module.exit_json(**result)
    except crypto_utils.OpenSSLObjectError as exc:
        module.fail_json(msg=to_native(exc))
if __name__ == "__main__":
    main()