Improve error message when `python<version>` is not found in `uv run`
When a user runs `uv run python3.12` and the versioned python executable
is not found, print a hint suggesting `uv run -p <version> python` or
`uvx python@<version>` as alternatives.
Uses the existing `PythonRequest::try_from_tool_name` to parse the
command name, so it correctly handles all supported formats (python3.12,
pypy39, python3.11.5, etc).
The hint is only shown when the spawn fails with `NotFound`, keeping the
standard error chain intact.
Closes #11796