dispatch Series[datetime64] ops to DatetimeIndex
This is the culmination of a bunch of recent work.

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

If merged, this will subsume #18960 and will obviate parts of #18964.  This will also fix (but not test, so we'll leave the issue open for now) the lack of overflow checks #12534.  Also in a follow-up we'll be able to remove a bunch of _TimeOp.