feat(kernel): add (optional) field m_type to expr_const, this field is useful for implementing the tactic framework

This field should not be visible in the external API.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(kernel/for_each): use consistent naming convetions

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel): add find_fn, replace for_each_fn with find_fn when appropriate, remove unnecessary function has_cached_type

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(kernel): add find_fn, replace for_each_fn with find_fn when appropriate, remove unnecessary function has_cached_type