ENH: Support TZ Aware IntervalIndex
- [X] closes #18537
- [X] closes #18538
- [X] tests added / passed
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [X] whatsnew entry

Updates to `Interval`:
- Disallowed `Interval` objects with mixed time zones
- Minor docstring updates

Updates to `IntervalIndex`:
- Disallowed `IntervalIndex` with mixed time zones
- Fixed `IntervalIndex.mid` for tz aware
- Fixed `_get_next_label` and `_get_previous_label` for tz aware
   - cascades to other methods
- Cleaned up error message for mixed `left`/`right` types
