fix(kernel/normalizer): bug in Let normalization

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(kernel/normalizer): avoid svalue hack, use 'semantic attachments' for implementing closures, include context in the closure

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(kernel/builtin): make sure the if-then-else semantic attachment is not a simplifier

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(kernel/builtin): make sure the if-then-else semantic attachment is not a simplifier