fix(kernel/converter): remove temporary workaround, and temporarily disable unit test

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel/constraint): rename: level constraints are also equality constraints

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/unifier): add main loop and resolve_conflict

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel/type_checker): remove type_checker::imp

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel/converter): eliminate converter::context, use type_checker directly

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(kernel/converter): use type_checker::scope to make sure we restore the cache, and remove constraints when is_def_eq fails in the converter

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(library/unifier): memory violation, and missing set_conflict

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(lua): add type checker test

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(lua): add type checker test