ENH/BUG: Period/PeriodIndex supports NaT

Closes #7228. Closes #4731.

`Period` and `PeriodIndex` now can contain `NaT` using `iNaT` as its internal value.


yes that last example should be ``[False False]``, a ``NaT`` comparison should always be False (like a NaN one). I just wasn't sure why you are using a numpy masked array function (I tend to avoid those, they seem a bit opaque), and prob have something in core/common in any event.