Remove timeop
We're finally able to remove `ops._Op` and `ops._TimeOp`.  This PR makes one final compatibility fix:

ATM:
```
tdi = pd.TimedeltaIndex(['1 Day'])
ser = pd.Series(tdi)

>>> tdi + np.nan
TypeError: unsupported operand type(s) for +: 'TimedeltaIndex' and 'float'

>>> ser + np.nan
0   NaT
dtype: timedelta64[ns]
```

Same deal for subtracting np.nan.  See #19274.  This makes the TimedeltaIndex canonical and updates the appropriate Series tests.

- [x] closes #19274
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Travis cancelled. Repush or let sit? i restarted Looks like OSX build got killed again, otherwise OK lgtm. just waiting on travis. thanks.

now would be a good time to split the test_operators into sub-modules :>