Introduce a `DW_OP_LLVM_convert` Dwarf expression pseudo op that allows for a convenient way to perform type conversions on the Dwarf expression stack. As an additional bonus it paves the way for using other Dwarf v5 ops that need to reference a `base_type`.
- Use the new operation in `llvm::replaceAllDbgUsesWith` where it replaces a complex (and broken) shift and mask based expression to perform sign- and zero-extension.
- Update the AsmPrinter parts to emit appropriate symbols to allow for `base_type` references from Dwarf expressions.