perf(library/unifier): process delta expansion case split lazily
refactor(frontends/lean/local_context): simplify local_context representation
refactor(frontends/lean/proof_qed_elaborator): simplify
proof_qed_elaborator interface
refactor(frontends/lean/coercion_elaborator): simplify
coercion_elaborator interface
refactor(frontends/lean/local_context): move mvar2meta mapping to elaborator
refactor(frontends/lean/local_context): remove name_generator from local_context
fix(library/unifier): bug in the new next_delta_unfold_case_split
refactor(local_context): local_context::scope auxiliary object is not
needed anymore
perf(frontends/lean/placeholder_elaborator): reuse local_context, this
is possible now because local_context is a mainly "functional object"
refactor(frontends/lean/elaborator): remove unnecessary
set_local_context_for method
feat(kernel/type_checker): expose is_opaque
refactor(kernel/declaration): return reference to type/value/name
fix(kernel/type_checker): bug in new is_opaque method
perf(frontends/lean/class): improve is_ext_class procedure
perf(kernel/instantiate): cache result of instantiate_type_univ_params
and instantiate_value_univ_params