Move WebAssemblyUtilities from Utils to the CodeGen library. It
primarily deals in MIR layer types, so it really lives in the CodeGen
library.
Move a variety of other things around to try create better separation.
See issue #64166 for more info on layering.
I wasn't sure what to do with llvm/include/CodeGen/WasmAddressSpaces.h.
It has no other users, so it seems like it should live in lib/Target,
but it was just recently moved to CodeGen. I worked around the issue in
the Bazel build by adding it to the CodeGenTypes library, but this seems
awkard. Maybe it should live in BinaryFormat or IR.
I think this can stay here if we change the argument from MachineInstr to unsigned Opc, which is already the case for all other methods in this file. I'm not sure why this function was an exception.