BUG: Consistent division by zero behavior for Index/Series
- [x] closes #13843

We have two very-similar functions for masking division by zero for Index vs Series.  The Index version is the more correct of the two, so I'm trying to make the Series one behave more like the Index one, eventually just using the Index one for both.

The hard part here is that IntegerArray, SparseArray, and SparseSeries have their own arithmetic implementations, and we test that they behave the same as Series.  Several attempts to patch these implementations have failed (and motivated #27302, which this is rebased on top of), so for now this PR patches the tests instead of the implementations.

I think the IntegerArray implementation should be relatively easy to patch.  SparseArray I'll need some help (cc @TomAugspurger) with `__setitem__` and/or `putmask`.

k looks fine (except for the comments which can be addressed as a followup), but we need a note for the changes in Series yes? (e.g. they are very edge casey but need a mention) will add note.  do we want to try to fix the IntegerArray and SparseArray behavior here too?  IntegerArray I think I can figure out but SparseArray I've beat my head against and got nowhere. > will add note. do we want to try to fix the IntegerArray and SparseArray behavior here too? IntegerArray I think I can figure out but SparseArray I've beat my head against and got nowhere.

no let's do as followups. lgtm ping on green (note that I just merged a patch to make the numpy dev branch pass) so you may need to rebase again. ping