[flang] Add hlfir.char_trim operation (#156064)
Fortran character trim is currently lowered directly into a runtime
call, which makes it more complex to simplify expressions using it.
With this patch trim is first lowered into an hlfir.char_trim
operation, that is only later transformed into a runtime call.
This makes it easier to remove unnecessary calls to trim, as
proposed in #154593.