fix(lua/numerics): bug in bindings, add more tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(lua/justification): add more tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(lua/type_inferer): add missing tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(lua/name): add missing tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(lua/expr): add missing tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(library/update_expr): add missing tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
tests(lua/frontend_lean): add missing tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(kernel/environment): track which modules were already imported

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(lua/metavar_env): add missing tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(lua): workaround memory leak problem with __cxa_thread_atexit code generated by g++

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(lua): fix C++ stack unwinding bug, we should never invoke lua_error from a catch block

lua_error and luaL_error are based on the longjmp C function. They will not correctly unwind the C++ stack. We should only invoke them after we finished handling the C++ exceptions and unwinding the C++ stack, and invoking the destructors for each object living on the stack.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(*): add missing tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(lua/environment): add missing tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(kernel/environment): compilation problem on Windows

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(util/realpath): style

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(tests/kernel/expr): remove unused function

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(build): cygwin also needs the LEAN_WINDOWS flag

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
doc(lua): add main file for Lua API documentation

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(doc/lua): add script for validating examples in the Lua API documentation

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(util/shared_mutex): add missing tests

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