BUG: TDA.__floordiv__ with NaT
- [x] closes #35529
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

The return type of a floordiv with a scalar should be an integer. the cast is unavoidable at the moment. Maybe a TODO to change to nullable integer in the future and raising a RuntimeWarning in the meantime for consistency with NumPy.

```
>>> arr = np.array([1, 2, 3])
>>> arr
array([1, 2, 3])
>>>
>>> arr // arr
array([1, 1, 1], dtype=int32)
>>>
>>> arr2 = np.array([1, 2, np.nan])
>>> arr2
array([ 1.,  2., nan])
>>>
>>> arr // arr2
<stdin>:1: RuntimeWarning: invalid value encountered in floor_divide
array([ 1.,  1., nan])
>>>
``` otherwise LGTM hang on a minute. NumPy now supports floordiv on timedeltas but returns an integer array.

```
>>> np.__version__
'1.19.1'
>>>
>>> left = np.array([1000, 222330, 30], dtype="timedelta64[ns]")
>>> left
array([  1000, 222330,     30], dtype='timedelta64[ns]')
>>>
>>> right = np.array([1000, 222330, None], dtype="timedelta64[ns]")
>>> right
array([  1000, 222330,  'NaT'], dtype='timedelta64[ns]')
>>>
>>> left // right
<stdin>:1: RuntimeWarning: invalid value encountered in floor_divide
array([1, 1, 0], dtype=int64)
>>>
```

UPDATED: this also raises a RuntimeWarning in a clean session. > The return type of a floordiv with a scalar should be an integer


```
>>> ser = pd.Series([-1, 0, 1])
>>> ser // np.nan
0   NaN
1   NaN
2   NaN
dtype: float64
```

We also don't follow numpy exactly on this (though usually the issue is division by zero, not division by nan).
 this looks fine. I think we return float arrays now in other ops (where as numpy does not cast), so think this is ok.