Reorganize code. Remove useless/limiting classes.
Add clarifying comment.
Rework Constraints class and add it back in.
Make Constraints class able to figure out if a constraint is satisfied, regardless of the order the variables used to create an arc (tuple) were in when said arc was hashed to store the relation involved in the constraint.