move PeriodIndex comparisons, implement PeriodArray constructor
PeriodIndex comparisons turn out to be easier to move than the others (though partly because ATM they are broken: #21793), so this moves them over first.

Following that, most of the remaining PeriodArray arithmetic methods require `shift`, which in turns requires the constructors, so I went ahead and implemented those in PeriodArrayMixin.  Still holding off on TimedeltaArray and DatetimeArray constructors.

Found a few more things that could be harmlessly moved and some docstring fixups.

CC: @jorisvandenbossche @TomAugspurger @jreback 

thanks @jbrockmendel 