BUG: IntervalIndex.intersection returning duplicates
- [x] closes #38743
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Moved the wrong test code into a new test with adjusted behavior

can you also add the exhaustive test from the op

```
def check_intersection_commutative(left, right):
    assert left.intersection(right).equals(right.intersection(left))

@pytest.mark.parametrize("index_maker", tm.index_subclass_makers_generator())
def test_intersection_uniqueness(index_maker):
    if index_make is tm.makeMultiIndex:
        pytest.pass()  # This index maker is bugged
    ind_unique = index_maker(k=5)
    ind_non_unique = idx_unique[[0, 0, 1, 2, 3, 4]]

    check_intersection_commutative(ind_unique, ind_non_unique)
    assert idx_unique.intersection(idx_non_unique).is_unique
```

except use the index fixture Done, moved it into the regular setops file. thanks @phofl 