Add 2-arg versions of findmax/min, argmax/min (#35316)
Defines a descending total order, `isgreater` (not exported), where unordered values like NaNs and missing are last. This makes defining min, argmin, etc, simpler and more consistent. Also adds 2-arg versions of findmax/min, argmax/min. Defines and exports the `isunordered` predicate for testing whether a value is unordered like NaN and missing. Fixes #27613. Related: #27639, #27612, #34674.
Thanks to @tkf, @StefanKarpinski and @drewrobson for their assistance with this PR.
Co-authored-by: Jameson Nash <jameson@juliacomputing.com>
Co-authored-by: Takafumi Arakaki <takafumi.a@gmail.com>