Generate SMT formulas from constraints
Add option to only represent linear parts

If the linear part is not satisfiable, then the
whole constraint will not be either.
Use solver to eliminate constraints in toDNF

This significantly speeds up the generation of a
rewrite system for some of my benchmark code. In
the most extreme case this only generates 20k
rules instead of 1.6 million.
Merge pull request #35 from jeroenk/constraint-elimination-take2

Constraint elimination - take 2