Caching

I didn't understand that the Solver was re-instantiated every time LLVM called Souper, so the cache kept getting emptied out. This is fixed and now we get cache hits as expected.