BUG: Timestamp subtraction of NaT with timezones
Closes #11718.
- Ops with `NaT` and `Timestamp` with `tz` results in `NaT`
- Ops with `NaT` and `DatetimeIndex` /  `TimedeltaIndex` results in corresponding `Index` filled with `NaT`.

@sinhrks one small comment. looks much cleaner. thanks. merge when green (or ping and I can).
 Thanks, fixed to use `ABCPeriodIndex`. Will merge when green.
 lgtm!
