PERF: perform a unique intersection with IntervalIndex if at least one side is unique
Resolves https://github.com/pandas-dev/pandas/issues/26709
```
       before           after         ratio
     [3ff4f38f]       [30bd5369]
     <datetime_iter~1>
-       749±100μs         365±70μs     0.49  index_object.IntervalIndexMethod.time_intersection_duplicate(1000)
-        59.6±3ms       8.04±0.2ms     0.13  index_object.IntervalIndexMethod.time_intersection_duplicate(100000)
           failed       2.50±0.01s      n/a  index_object.IntervalIndexMethod.time_intersection_duplicate(10000000)
```

- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry
