BUG: ValueError raised by cummin/cummax when datetime64 Series contains NaT.

Ref: #8965


putmask raises a ValueError when y is an array of dtype datetime64 and mask_a is np.inf or np.nan.
I've special-cased datetime64 arrays so  
```
np.putmask(result, mask, np.datetime64('NaT'))
```
is called instead.