Stable Sorting Algorithm for Fillna Indexer
- [X] closes #21207
- [X] tests added / passed
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Haven't added a whatsnew yet if only because I need to think through the best way to phrase this / investigate where it doesn't work. I have a feeling the default `kind` argument has a bug in it back in NumPy, but `mergesort` is guaranteed as a stable sort so may be preferable anyway in spite of the performance hit.

https://docs.scipy.org/doc/numpy/reference/generated/numpy.sort.html#numpy.sort

Will post ASVs later as well - let me know of feedback in the interim