fix(frontends/lean/token_table): static initialization problem

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/kernel_bindings): add 'set_env/set_environment' commands for updating the global environment

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/parser): add 'parse_commands' and 'parse_script'

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(frontends/lean/cmd_table): remove register_builtin_cmd procedures, they would cause initialization problems

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/builtin_cmds): add simple 'print' command

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

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library): add choice expressions

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(library/deep_copy): use replace to implement deep_copy

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(shell): re-activate .lean tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(kernel/for_each_fn): typo

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/parser): add parse_id method

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