BUG: Fix IntervalArray equality comparisions
- [X] closes #24112
- [X] tests added / passed
- [X] passes `black pandas`
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [X] whatsnew entry

cc @TomAugspurger 
@jschendel ok, hopefully some of this can be pushed down to base classes; @jbrockmendel merge if your comments have been addressed. > hopefully some of this can be pushed down to base classes

Some of this probably could be pushed down to base classes but need to be careful because it could cause a perf hit.  In the `IntervalArray` implementation I took a bit of care to not actually create any `Interval` objects and instead use comparisons against the `left`/`right` arrays.  I think using the base class implementation would end up creating `Interval` objects.  Did some quick ad hoc timings and looks like the perf hit can be ~3x in worst case. ok fIr @jschendel yep we often balance perf of specialized code paths vs more generic code k thanks @jschendel 