Fix conflict detection for max_courses/computer_preference

This resolves issue #49 

Adding both max_courses and computer_preference constraints for the same instructor were incorrectly marked as conflicting.  This has been resolved.  
There was also no error checking for max_courses constraints (duplicates were possible, and Shade_max_courses_2 and Shade_max_courses_3 could both be added to the program without an issue).  That functionality has also been added in this pull request.  

Note:  I have a commit in here (50dd680) that is also in the fix constraint toggle PR.  I think that was just because of a mistake I made while branching.  If it'll cause problems for merging both PRs, let me know.