<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
`openssh_keypair` seem to report changed in cases where it shouldn't

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
openssh_keypair

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.1
  config file = None
  configured module search path = ['/home/florian/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/florian/.local/pipx/venvs/ansible/lib64/python3.7/site-packages/ansible
  executable location = /home/florian/.local/bin/ansible
  python version = 3.7.5 (default, Oct 17 2019, 12:16:48) [GCC 9.2.1 20190827 (Red Hat 9.2.1-1)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
ANSIBLE_NOCOWS(env: ANSIBLE_NOCOWS) = True
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->

Debian Sid in a docker container, see playbook below


##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml
---

- hosts: localhost
  gather_facts: no

  tasks:
    - docker_container:  name=testing_debian state=started image=debian:sid command="sleep infinity"
    - add_host: name=testing_debian ansible_connection=docker

- hosts: testing_debian
  gather_facts: no

  tasks:
    # Ensure we start from a consistent state
    - raw: "apt -y update && apt -y install python openssh-client"
    - file: path=/tmp/key state=absent
    - file: path=/tmp/key.pub state=absent

    # full reproducer here

    - openssh_keypair: path=/tmp/key comment=test type=ed25519 
    - openssh_keypair: path=/tmp/key comment=test type=ed25519 
```

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

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->

I'd expect the second `openssh_keypair` task to report unchanged.


##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

Both tasks show up as changed:

<!--- Paste verbatim command output between quotes -->
```paste below
TASK [file] **********************************************************************************************************************************************************************************************************************************
[WARNING]: Platform linux on host testing_debian is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this. See
https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.

ok: [testing_debian] => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "path": "/tmp/key", "state": "absent"}

TASK [file] **********************************************************************************************************************************************************************************************************************************
ok: [testing_debian] => {"changed": false, "path": "/tmp/key.pub", "state": "absent"}

TASK [openssh_keypair] ***********************************************************************************************************************************************************************************************************************
changed: [testing_debian] => {"changed": true, "comment": "test", "filename": "/tmp/key", "fingerprint": "SHA256:k7zoCrUKcwjfvSsKSr+zElJL5wGgCbmNsgGdD4qXp6o", "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ5JTc62+6h0NlqM0r5pranKV3kXS7+XbzO9ZPeY2f36 test", "size": 256, "type": "ed25519"}

TASK [openssh_keypair] ***********************************************************************************************************************************************************************************************************************
changed: [testing_debian] => {"changed": true, "comment": "test", "filename": "/tmp/key", "fingerprint": "SHA256:k7zoCrUKcwjfvSsKSr+zElJL5wGgCbmNsgGdD4qXp6o", "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ5JTc62+6h0NlqM0r5pranKV3kXS7+XbzO9ZPeY2f36 test", "size": 256, "type": "ed25519"}
```

elif not self.isPublicKeyValid(module, perms_required=False):
            pubkey = module.run_command([module.get_bin_path('ssh-keygen', True), '-yf', self.path])
            pubkey = pubkey[1].strip('\n')
            try:
                self.changed = True
                with open(self.path + ".pub", "w") as pubkey_f:
                    pubkey_f.write(pubkey + '\n')
                os.chmod(self.path + ".pub", stat.S_IWUSR + stat.S_IRUSR + stat.S_IRGRP + stat.S_IROTH)
            except IOError:
                module.fail_json(
                    msg='The public key is missing or does not match the private key. '
                        'Unable to regenerate the public key.')
            self.public_key = pubkey
            if self.comment:
                try:
                    if os.path.exists(self.path) and not os.access(self.path, os.W_OK):
                        os.chmod(self.path, stat.S_IWUSR + stat.S_IRUSR)
                    args = [module.get_bin_path('ssh-keygen', True),
                            '-q', '-o', '-c', '-C', self.comment, '-f', self.path]
                    module.run_command(args)
                except IOError:
                    module.fail_json(
                        msg='Unable to update the comment for the public key.')
        file_args = module.load_file_common_arguments(module.params)
        if module.set_fs_attributes_if_different(file_args, False):
            self.changed = True
        file_args['path'] = file_args['path'] + '.pub'
        if module.set_fs_attributes_if_different(file_args, False):
            self.changed = True
    def isPrivateKeyValid(self, module, perms_required=True):