API: Change Period('NAT') to return NaT
- [x] closes #12759, #13582
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry
- `pd.Period('NaT', freq='D')` now returns `pd.NaT` rather than its own nat repr. 
- To be compat with `Period` arithmetic, `pd.NaT` now supports addition / subtraction with `int` (previously `ValueError`).

```
pd.NaT + 1
# pd.NaT
```

Added tests for following:
- [x] `Period` and `PeriodIndex`, `Series` ops
  - [x] add, sub, comp
- [x] `PeriodIndex` creation from list-like which contains `Period` and `NaT` (#13430)
- [x] `PeriodIndex` boxing
- [x] `.to_period`
- [x]  `__contains__` any NaT-like(`pd.NaT, None, float('nan'), np.nan`) 
