BUG: IntervalIndex.unique() only contains the first interval if all interval borders are negative
Fixes: #61917
Before FIx ❌:
```python
idx_neg = pd.IntervalIndex.from_tuples([(-4, -3), (-4, -3), (-3, -2), (-3, -2), (-2, -1), (-2, -1)])
print(idx_neg.unique())

# Output:
# IntervalIndex([(-4, -3]], dtype='interval[int64, right]')
```

After Fix ✅:
```python
idx_neg = pd.IntervalIndex.from_tuples([(-4, -3), (-4, -3), (-3, -2), (-3, -2), (-2, -1), (-2, -1)])
print(idx_neg.unique())

# output:
# IntervalIndex([(-4, -3], (-3, -2], (-2, -1]], dtype='interval[int64, right]')
```

- Fixes incorrect deduplication of negative-valued intervals when using .unique().
- Previously used .view("complex128"), which failed for negative floats/ints.

- [x] closes #61917
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).

Hello @khemkaran10, I have tried your fix and I have the following issue. When i run with this branch this code:
`import pandas as pd
idx_neg = pd.IntervalIndex.from_tuples([(-4, -3), (-4, -3), (-3, -2), (-3, -2), (-2, -1), (-2, -1)])
print(idx_neg.unique())`
I get from the last line: E   ValueError: left side of interval must be <= right side
I have tried to debug the problem and I found that:
unique() from interval.py calls at the return self._from_combined(nc). the _from_combined() method from interval.py sets nc to nc = combined.view("i8").reshape(-1, 2). Here is the problem, because:
array([[-4.-3.j],
       [-3.-2.j],
       [-2.-1.j]])
gets transformed to:
array([[-4607182418800017408, -4609434218613702656],
       [-4609434218613702656, -4611686018427387904],
       [-4611686018427387904, -4616189618054758400]])
and then the method delivers an invalid Intervalindex, where left side is greater then the right side.

Gould you try to run the code again and assure, that idx_neg.unique() really returns "IntervalIndex([(-4, -3], (-3, -2], (-2, -1]], dtype='interval[int64, right]')"? In my tests the return is "IntervalIndex([([-4607182418800017408, -4609434218613702656], (-4609434218613702656, -4611686018427387904], (-4611686018427387904, -4616189618054758400]], dtype='interval[int64, right]')" which triggers the error: "E   ValueError: left side of interval must be <= right side"
 @il1sf4 Thanks for pointing out. I have update the PR.