Enable vector-valued numerical constraint/matching functions

For this, the interfaces of ForeignConstraint and ForeignMatching have
also changed so that they store multiple rows and right-hand sides.
Combine EWSB conditions into single vector-valued lattice constraint

Call to mass matrix diagonalization procedure has been factored out of
the individual constraints.