Rewrite `uv-auth` (#2976)
Closes
- #2822
- https://github.com/astral-sh/uv/issues/2563 (via #2984)
Partially address:
- https://github.com/astral-sh/uv/issues/2465
- https://github.com/astral-sh/uv/issues/2464
Supersedes:
- https://github.com/astral-sh/uv/pull/2947
- https://github.com/astral-sh/uv/pull/2570 (via #2984)
Some significant refactors to the whole `uv-auth` crate:
- Improving the API
- Adding test coverage
- Fixing handling of URL-encoded passwords
- Fixing keyring authentication
- Updated middleware (see #2984 for more)