fix(util/optional): bug in emplace method

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(parser): use 'scope objects' for creating local scopes and setting m_type_use_placeholder flag

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/builtin_exprs): add parser for 'let' expressions

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(emacs): add 'postfix' in the list of keywords

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/builtin_exprs): parse '_' placeholder

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(frontends/lean): Bool does not need to be a reserved keyword

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(emacs): add 'abbreviation' in the list of keywords

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(emacs): add 'abbreviation' in the list of keywords