feat(kernel/level): is_trivial predicate for level constraints

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel): constraints

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel): parametric kernel objects

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel): add error msg formatters, remove unnecessary files, add new type_checker interface

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