ENH: Have Period/PeriodIndex inherit from Interval/IntervalIndex
Since `Period` objects are inherently intervals of time, it seems like there should be a way to access `Interval` properties and methods.  Inheritance has been suggested in passing in other issues, and seems reasonable.

As an example benefit, #9089 suggests implementing `Period.duration`.  If `Period` were to inherit from `Interval`, this would already be implemented via the `Interval.length` property:

```python
In [2]: p = pd.Period('2018Q1', freq='Q')

In [3]: p_iv = pd.Interval(p.start_time, (p + 1).start_time, closed='left')

In [4]: str(p_iv)
Out[4]: '[2018-01-01, 2018-04-01)'

In [5]: p_iv.length
Out[5]: Timedelta('90 days 00:00:00')
```

Likewise for `PeriodIndex` inheriting from `IntervalIndex`.  Would be nice to have cross compatibility between the two, e.g. `IntervalIndex.overlaps(Period)` or `PeriodIndex.get_loc(Interval)`.