This patch adds constructors to VPIteration as a cleaner way of
initialising the struct and replaces existing constructions of
the form:
{Part, Lane}
with
VPIteration(Part, Lane)
This refactoring will be required in a later patch that adds more
members and functions to VPIteration.
Just an observation for this patch in isolation: Writing {Part, Lane} would still cause the new constructor of VPIteration to be called, so this would be an unnecessary change. But given the following patch adds another operand, using VPIteration explicitly helps clarify the code.