feat(kernel): add difference constraint solver with backtracking support, and justification generation, this solver will be used to check the satisfiability of universe level constraints

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>