This represents a linear combination of some variables, with coefficients
in the field F.
The (coeff, var) pairs in a LinearCombination are kept sorted according
to the index of the variable in its constraint system.
This is a “namespaced” constraint system which borrows a constraint system
(pushing a namespace context) and, when dropped, pops out of the namespace context.
Computations are expressed in terms of rank-1 constraint systems (R1CS).
The generate_constraints method is called to generate constraints for
both CRS generation and for proving.