### 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 files in the sdist are desired"""
    results = []
    for dirname, dummy, files in os.walk(sdist_dir):
        dirname = os.path.relpath(dirname, start=sdist_dir)
        if dirname == '.':
            dirname = ''
        for filename in files:
            if filename == 'setup.cfg':
                continue
            path = os.path.join(dirname, filename)
            if path not in to_ship_files:
                if fnmatch.fnmatch(path, 'changelogs/CHANGELOG-v2.[0-9]*.rst'):
                    
                    continue
                if fnmatch.fnmatch(path, 'lib/ansible_core.egg-info/*'):
                    continue
                
                
                if not os.path.islink(os.path.join(sdist_dir, path)):
                    results.append('%s: File in sdist was not in the repository' % path)
    return results
def check_installed_contains_expected(install_dir, to_install_files):