SAT converter handles -1 in constraint matrix.
Refactored out add_at_most_k_constraint.
Carsten Sinz, “Towards an Optimal CNF Encoding of Boolean Cardinality Constraints”