In many places DebugLoc and PCSections metadata are just copied along to
propagate them through MachineInstrs. Simplify doing so by bundling them
up in a MIMetadata class that replaces the DebugLoc argument to most
BuildMI() variants.
The DebugLoc-only constructors allow implicit construction, so that
existing usage of BuildMI(.., DL, ..) works as before, and the rest of
the codebase using BuildMI() does not require changes.
NFC.
Depends on D130882