feat(builtin/num): define fact and exp

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(builtin/num): bug in the factorial definition

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

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