SIL: model opened COM existential values
Introduce open_com_existential to expose the interface value stored in a
COM existential. The result is a fresh opened archetype with the same
interface constraints and pointer representation as the operand, rather
than a Swift class reference.
Forward ownership through the opening and preserve explicit forwarding
ownership during serialization. Register the opened archetype and remap
it when cloning so subsequent instructions can depend on its definition.
Teach SIL construction, verification, printing, serialization, and
optimizer analyses about the instruction. IRGen lowering remains a
separate step.