This PR adds uv as a third Python toolchain option besides the currently
supported Pip and Poetry toolchains. The uv toolchain can be selected
during `pulumi new` for python projects.
While uv can technically be used to install packages into global Python
environments, this is not really recommended, and our uv integration
always uses a virtual environment (creating venvs with uv is very fast
anyway). If the [`virtualenv` runtime
option](https://www.pulumi.com/docs/iac/concepts/projects/project-file/#runtime-options)
is not set, we default to creating a virtualenv named `.venv` next to
the nearest `uv.lock` or `pyproject.toml` file.
Fixes https://github.com/pulumi/pulumi/issues/17031