### 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
"""Install the extracted sdist into the temporary directory"""
    install = subprocess.run(
        ['python', 'setup.py', 'install', '--root=%s' % tmp_dir],
        stdin=subprocess.DEVNULL,
        capture_output=True,
        text=True,
        cwd=os.path.join(tmp_dir, sdist_dir),
        check=False,
    )
    stdout, stderr = install.stdout, install.stderr
    if install.returncode != 0:
        raise Exception('sdist install failed:\n%s' % stderr)
    
    match = re.search('^copying .* -> (%s/.*?/(?:site|dist)-packages)/ansible$' %
                      tmp_dir, stdout, flags=re.M)
    return match.group(1)
def check_sdist_contains_expected(sdist_dir, to_ship_files):