standardize signature for Index reductions, implement nanmean for datetime64 dtypes
Same basic goal as #23890, but focusing on nanops (a module I'm not all that familiar with) first, with the array methods later, instead of vice-versa.

I think the only user-facing change (i.e. need for whatsnew) is that `Series[datetime64].mean()` now works.

I need to see if there are any more tests from #23890 or #24024 that can be copied here.  

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