Refactor uv retrayble strategy to use a single code path
Refactoring that allows uv's retryable strategy to return Some(Retryable::Fatal), which is also helpful for #16245.
We need to change the way we're reporting retries to avoid both the retry middleware and our own retry context to report the retry numbers.