Make `pop!(::Set{A}, ::B)` return an A, not B (#52017)
Previously, `pop!(::Set, x)` returned `x`, not the element in the
set. This matters if multiple different elements are equal and hash to
the same.
Before:
```julia
julia> pop!(Set([1]), 0x01)
0x01
```
Now:
```julia
julia> pop!(Set([1]), 0x01)
1
```