Introduce `default-source` to slim lockfile
Currently, we're repeating the same `source` line for every package, so the lockfiles have a lot of:
```toml
source = { registry = "https://pypi.org/simple" }
```
This PR introduces a top level `default-source` entry set to the default index URL, if any. When the source matches, we don't repeat the `source` entry. This reduces the number of lines in `uv.lock` noticeably across the board:
* A small data science project: 421 -> 394
* A small bot: 455 -> 426
* Transformers: 5683 -> 5419
* Warehouse: 4632 -> 4306
* Airflow: 2709 -> 2576
Caveat: We don't have good multi-index coverage (#5882).
3/3 for #4893