ENH/BUG: Period/PeriodIndex supports NaT

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

why is this a method? why not just define the function in ``shift``?