Adds a replaceOperand() helper, which is like Instruction.setOperand() but adds the old operand to the worklist. This reduces the amount of missing or incorrect worklist management.
This only applies the helper to a relatively small subset of setOperand() calls in InstCombine, namely those of the pattern I.setOperand(); return &I;, where it is most obviously applicable.
IMO, slightly easier to read if we name the "Operand" parameter "OpNum" or "OperandIndex" or some variant of those.