Allow multiple self-dependencies
In uv, we don't use the `DependencyConstraints` map, but pass in the dependencies through an iterator. This means there can be duplicate dependencies in the input. This would previously make `merge_dependents` panic if a package dependent on itself twice with the same range:
```toml
[package]
name = "foo"
version = "0.1.0"
dependencies = ["foo", "foo"]
```
The fix is to ignore self-dependencies when merging dependents, given that they are always trivially true or trivially false.
Give the GitHub token write permissions
Without the default write permissions the job otherwise fails, see https://github.com/astral-sh/pubgrub/actions/runs/14617176327/job/41007947575