Semilinear improvements

This contains the fix for the simplification bug, as well as many performance improvements, rewrite of ```var.{h,cpp}``` and a general overhaul of the semilinear sets.  What still remains to be done is to have a more flexible CLI interface that allows you to use different simplifiers...