This patch implements the lowering for the hlfir.char_extremum operation.
Discussion for this patch can be found in the draft patch here. The reason
for not promoting this draft to a true patch for review was because I needed to separate the op
definition/codegen and lowering into two separate patches, as preferred by @jeanPerier.
Depends on D152474
Isn't Fortran::lower::convertToValue more suitable here?