refactor(util): explicit initialization/finalization
refactor(frontends/lean): explicit initialization/finalization
refactor(library/tactic): explicit initialization/finalization
refactor(library): remove dead files
refactor(library): explicit initialization/finalization
perf(kernel/replace_visitor): use more expensive/precise cache

It does not use pointer equality, but structural equality
checkpoint

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