BinaryConstraint
BinaryConstraint is the abstract base of all constraints
that combine two other constraints in some fashion.
The first constraint being combined
The second constraint being combined
Construct a BinaryConstraint from two other constraints