fix(kernel/type_checker): restore type checker cache when a failure occurs, do not send constraints to add_cnstr_fn when a type checker failure occurrs

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(kernel/type_checker): add push/pop methods to type_checker, they control the cache, and allow the type checker to reuse results even when it is used inside of a backtracking search

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(frontends/lean/parser): warning when compiling in release mode

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