Emit 1-based column numbers in debuginfo
* Use byte offsets instead of char position offsets. Resolves#67360.
* Use 1-based offsets instead of 0-based ones. Resolves#65437.
* Consistently omit column information for msvc targets, matching clang behaviour (previously columns have been omitted from `DILocation`, but not from `DILexicalBlock`).
The codegen crate contains the code to convert from MIR into LLVM IR,
and then from LLVM IR into machine code. In general it contains code
that runs towards the end of the compilation process.
For more information about how codegen works, see the rustc dev guide.