
This pr implements the boiler plate required to use `llvm-objcopy` for `DXContainer` object files. It defines a minimal structure `object` to represent the `DXContainer` header and the following parts. This structure is a simple representation of the object data to allow for simple modifications at the granularity of each part. It follows similarily to how the respective `object`s are defined for `ELF`, `wasm`, `XCOFF`, etc. This is the first step to implement https://github.com/llvm/llvm-project/issues/150275 and https://github.com/llvm/llvm-project/issues/150277 as compiler actions that invoke `llvm-objcopy` for functionality.