Merge pull request #23 from Winston-Chan/nathan

Added Constraint and Solution data types to Utils, modified solver to use them.
Merge pull request #24 from Winston-Chan/nathan

Fixed some bugs or whatever
Fixed a bug in Utils.remove, wrote the initial solver.
Added extract to Utils