Convert the ParallelMAC struct to something more generic, it has become 'BinOpSequence' and the ValueList 'VL' is now two: LHS and RHS. This makes iterating and comparing the instructions cleaner.
Also changed some functions to accept reference arguments instead of copying the data out.
Bikeshedding names: was thinking if e.g. BinOpChain is capturing it better?