Compiler-generated code takes arrays of VMs rather than separate VMs

In generated code for garbled circuits we used to use

   gen_main(io, io0, io1, io2, ...)

but now we package them up into an array

   gen_main(ios)

This will make it easier to automate the true network protocol.

This change applies only to the garbled circuit variants (yao, yaor,
gax, gaxr) and not spdz/gmw.