Discover versioned Python executables when `requires-python` pins a version (#18700)
Closes https://github.com/astral-sh/uv/issues/9695
Follows https://github.com/astral-sh/uv/pull/9697
Consolidates `requires-python` conversion into `PythonRequest` so we can
handle this logic once.