Add minimum libc versions for universal resolution (#21651)
## Summary
Add minimum supported libc versions for universal resolution:
```toml
[tool.uv]
preview-features = ["minimum-libc-version"]
required-environments = [
"sys_platform == 'linux' and platform_machine == 'x86_64'",
"sys_platform == 'linux' and platform_machine == 'aarch64'",
]
minimum-libc-version = { glibc = "2.31" }
```
With this configuration, `manylinux_2_17` wheels satisfy the glibc
requirement, but `manylinux_2_34` wheels do not. Both remain in the
lockfile and exported hashes, so installation can select the newer wheel
on a newer machine. We backtrack if a required environment has no
compatible wheel or usable source distribution.
Use `{ glibc = "2.31", musl = "1.2" }` to require coverage for both
baselines. Musl wheels cannot satisfy the glibc requirement, but generic
Linux wheels can satisfy either implementation.
The setting applies to `uv lock` and `uv pip compile --universal`.
Related to https://github.com/astral-sh/uv/issues/12597.