### Summary

Our setuptools constrain in `pyproject.toml` (listed also in `setup.cfg`) is set to `>= 39.2.0` due to the minimum version available at the time on Ubuntu 18.04.

Now that we have a dependency on Python 3.9 as a minimum, that constraint no longer makes sense, as Python 3.9 is not available on 18.04, and the `dist-packages` `setuptools==39.2.0` compat between deadsnakes python3.9 is non-functional.

This would make Ubuntu 20.04 effectively the minimum supported controller.  The `dist-packages` `setuptools==45.2.0` is functional with the `python3.9` package, and works fine with our packaging.  

This doesn't really grant us anything, since we're waiting for the minimum to eventually be `51.0.0` so we can list the `entry_points` in `pyproject.toml`, but no need to list effectively a non-functional lower bounds. 

### Issue Type

Feature Idea

### Component Name

pyproject.toml

### Additional Information

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

```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
"""Check that all installed files were desired"""
    results = []
    for dirname, dummy, files in os.walk(install_dir):
        dirname = os.path.relpath(dirname, start=install_dir)
        if dirname == '.':
            dirname = ''
        for filename in files:
            
            directory = dirname
            if filename.endswith('.pyc') or filename.endswith('.pyo'):
                
                filename = filename[:-1]
                if directory.endswith('%s__pycache__' % os.path.sep):
                    
                    
                    segments = filename.rsplit('.', 2)
                    if len(segments) >= 3:
                        filename = '.'.join((segments[0], segments[2]))
                        directory = os.path.dirname(directory)
            path = os.path.join(directory, filename)
            
            if path not in to_install_files:
                
                
                if not os.path.islink(os.path.join(install_dir, path)):
                    if not EGG_RE.match(path):
                        results.append('%s: File was installed but was not supposed to be' % path)
    return results
def _find_symlinks():