[VPlan] Restrict addOperand to sub-classes that need it (NFC). (#200692)
Make addOperand protected and add dedicated helpers in sub-classes that
verify the type of the added operand if possible.
Most recipes already add all their operands on construction. This patch
makes sure that addOperand cannot be used to add operands with invalid
types.
PR: https://github.com/llvm/llvm-project/pull/200692