### 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
"""Copy the repository to clean it of artifacts"""
    
    with tempfile.TemporaryDirectory() as repo_root:
        directories = set((repo_root + os.path.sep,))
        for filename in file_list:
            
            directory = os.path.dirname(filename)
            dest_dir = os.path.join(repo_root, directory)
            if dest_dir not in directories:
                os.makedirs(dest_dir)
                
                path_components = directory.split(os.path.sep)
                path = repo_root
                for component in path_components:
                    path = os.path.join(path, component)
                    if path not in directories:
                        directories.add(path)
            
            shutil.copy2(filename, dest_dir, follow_symlinks=False)
        yield repo_root
def create_sdist(tmp_dir):