Hello!
I'm working on a tool that visits debug info and massages it using the llvm-c API. I noticed that LLVMGetOperand special cases MDNodes so I can get their operands, but I can't replace them. This patch adds LLVMReplaceMDNodeOperandWith which boils down to MDNode::replaceOperandWith.
The name was chosen for consistency with LLVMGetMDNodeOperands and LLVMGetMDNodeNumOperands.
This seems to be an incredibly complicated way to invoke the function, but it's consistent with the existing tests...