feat(frontends/lean/structure_cmd): add structure_cmd core
test(tests/lean/run): add structure command test
fix(frontends/lean/structure_cmd): 'rec' must be marked as protected
fix(frontends/lean): alias generation for composite names was not working

This is an issue for declarations that generate composite names such as
the inductive datatype packacke.

The commit also fix a bug in the generate of aliases for recursors
feat(frontends/lean/structure_cmd): add aliases for structure decls
fix(frontends/lean/decl_cmds): do not save 'examples' in .ilean file
feat(frontends/lean/structure_cmd): add coercions to parent structures
feat(frontends/lean/structure_cmd): mark structure as 'class' when [class] modifier is used
feat(frontends/lean/structure_cmd): mark coercion to parents as coercions and instances (when both structures as classes)
fix(emacs/lean-syntax): bug in syntax highlight, examples do not have names
feat(frontends/lean/structure_cmd): add 'eta' theorem for structures
feat(frontends/lean/structure_cmd): add 'eta' theorem for structures