BUG: Fix IntervalIndex constructor and copy with non-default closed
- [X] closes #18334 
- [X] closes #18339 
- [X] tests added / passed
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [X] whatsnew entry

Lumped the two issues together since they're dealing with the same thing, and the fixes are identical/small.  Rewrote relevant tests to be parametrized over ``closed``.

I also went through unrelated `IntervalIndex` tests and where it was straighforward parametrized over ``closed``.  Didn't include those in the initial commit though.  Not sure if it was best to include them here, or do them separately. 
