API: Add closed to IntervalDtype
This was brought up by @shoyer in a different issue, and it makes sense to me

Adding `closed` to `IntervalDtype` makes sense to me, as in my mind `closed` is inherently part of the dtype.  Since differing `closed` makes two `IntervalIndex` incompatible, I'd expect their dtypes to not be equal, but they currently are, which seems a little strange:
```python
In [2]: ii1 = pd.interval_range(0, 3, closed='left')

In [3]: ii2 = pd.interval_range(0, 3, closed='right')

In [4]: ii1.dtype == ii2.dtype
Out[4]: True
```

There's also a larger discussion as to if adding `closed` to `IntervalDtype` would allow us to remove `closed` as a parameter to the `IntervalIndex` constructor.  My preference would be to keep the `closed` parameter for user convenience, similar to how `CategoricalIndex` accepts `categories` and `ordered` parameters despite also accepting `CategoricalDtype` (though maybe this is just for legacy reasons).  Willing to be convinced otherwise though.

xref https://github.com/pandas-dev/pandas/issues/19263#issuecomment-359986104 (original comment)
xref #19370 (might be rendered moot)

cc @shoyer