WHERE the smallest and largest value of values are: imin/imax are 1-based indices
into values, skipping nulls and NaNs.
The index-returning twin of pf_minmax, split off because Fortran cannot offer both
answers from one generic -- optional imin/imax varying only by integer kind would
make a positional call ambiguous. A caller wanting both pays one extra call.
Ties report the FIRST occurrence, which is the element a full stable sort would place at
either end. Aborts on an all-null-or-NaN input, exactly as pf_minmax does. Defined for
parquet_column as well, since an index needs no compile-time element type.