timestamps implemented for lookup and diseq to my best understanding
Added a comment to clarify the invariant on literal ids
implemented a preliminary version of non-circular explain for FastCongruenceSolver. changed the TheorySolver interface slightly and cleaned up some code in FastCongruenceSolver