This patch implements building VPlan with VP Recipes.
Note: Marking it as WIP since the VP recipe execute() methods are defined (to satisfy lld) but have empty implementation. While the execution implementation waits on D99355 the VP recipe building part can be reviewed.
This patch is the fourth patch in the series of patches implementing D99750.
I suppose there could be an llvm_unreachable here to document this missing code path (same for the other recipes).