API: Change Period('NAT') to return NaT, not Period instance
#### Code Sample, a copy-pastable example if possible

`Timedelta` returns `NaT` when input can be regarded as `NaT`. Otherwise `Period` returns its special representation (This was done in #7485 prior to `Timedelta`).

```
pd.Timedelta('NaT')
# NaT

pd.Period('NaT', freq='M')
# Period('NaT', 'M')
```
#### Expected Output

```
pd.Period('NaT', freq='M')
# NaT
```

The fix should affects:
- [ ] `Period` and `PeriodIndex`, `Series` ops
  - [ ] add, sub, comp
- [x] `PeriodIndex` creation from list-like which contains `Period` and `NaT` (#13430)
- [ ] `PeriodIndex` boxing
- [ ] `.to_period`
- [ ]  `__contains__` any NaT-like(`pd.NaT, None, float('nan'), np.nan`)  (#13582)
#### output of `pd.show_versions()`

Current master.
