### Summary

The `apt_repository` will fail with a somewhat confusing error if gnugp, and dirmngr manager are not installed.  Neither of these packages are Required/Essential/Important, and may not be already installed in minimal systems that you might want to run `apt_repository` on.

The fix might be to just include `gnupg` in the requirements section of the docs.

### Issue Type

Documentation Report

### Component Name

apt_repository

### Ansible Version

```console
$  ansible --version
ansible [core 2.11.4]
  config file = ...
  configured module search path = ...
  ansible python module location = ...
  ansible collection location = ...
  executable location = /usr/local/bin/ansible
  python version = 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110]
  jinja version = 3.0.1
  libyaml = True
```


### Configuration

```console
$ ansible-config dump --only-changed
```


### OS / Environment

Mostly a docs issue so this is N/A. But apt_repository applies to Debian, Ubuntu, and forks.

### Additional Information

Tells people that need gnupg when using apt_repository.

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
if self.apt_key_bin:
            rc, out, err = self.module.run_command([self.apt_key_bin, 'export', key_fingerprint], check_rc=True)
            found = len(err) == 0
        else:
            found = self._gpg_key_exists(key_fingerprint)
        return found
    def _gpg_key_exists(self, key_fingerprint):
        found = False
        keyfiles = ['/etc/apt/trusted.gpg']  
        for other_dir in ('/etc/apt/trusted.gpg.d', '/usr/share/keyrings'):
            
            keyfiles.extend([os.path.join(other_dir, x) for x in os.listdir(other_dir) if not x.startswith('.')])
        for key_file in keyfiles:
            if os.path.exists(key_file):
                try:
                    rc, out, err = self.module.run_command([self.gpg_bin, '--list-packets', key_file])
                except (IOError, OSError) as e:
                    self.debug("Could check key against file %s: %s" % (key_file, to_native(e)))
                    continue
                if key_fingerprint in out:
                    found = True
                    break
        return found
    
    def add_source(self, line, comment='', file=None):
        if line.startswith('ppa:'):
            source, ppa_owner, ppa_name = self._expand_ppa(line)
            if source in self.repos_urls:
                
                return