This attempts to just fix the creation of VPT blocks, fixing up the iterating, which instructions are considered in the bundle, and making sure that we do not overrun the end of the block.
It is, to an extent, pulled out of D66580 to make that simpler. It does not attempt to optimise VPNOT's like that patch does.