Improvements to semilinear sets

These changes implement better simplification of semilinear sets, as well as memory management (we now delete unneeded ```SparseVec``` and ```LinearSet```) and a few other improvements.

Apart from that I've started experimenting with the idea we discussed: linear-like sets with multiple generators -- I've called it ```PseudoLinearSet``` and it should be ready for preliminary benchmarks.