refactor(kernel/formatter): add environment as an extra argument to the formatter

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(util/lua): add macro pushnil

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(util): add macro for exposing the type list<T> in Lua

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(util): expose list<name> in Lua

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(library/kernel_bindings): part of expr Lua API

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel): separate type_checker and converter

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