feat(hott/init): add lift to initialization
refactor(hott/init): mark theorems load by initialization as transparent
feat(library/definitional): add no_confusion construction that is compatible with the HoTT library
feat(library/hott) port Jeremy's group file to use path equality
fix(frontends/lean/parser): do not generate error when 'exit' command is used
feat(frontends/lean/structure): add option for controlling whether we automatically generate eta and projection-over-intro theorems for structures

It seems most of the time these theorems are not used at all.
They are just polluting the namespace.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(hott/init): add notation for sigma types
test(tests/lean/hott): add test for no_confusion construction for HoTT
feat(library/hott) add groupoid definition
feat(library/hott) prove that a groupoid on contractible object type is a group
feat(library/hott) prove that each group is a contractible groupoid
feat(library/lean) add one types as instances of groupoids
feat(library/hott): multiple changes in the HoTT library

Jakob accidentally undid some of my changes in commit aad4592, reverted that;
made style changes in multiple files;
in types/sigma: finished porting Coq-HoTT, and finished unfinished proof;
in axioms/funext: rename path_forall, make arguments implicit and make instance visible
refactor(library): move class management to library module
refactor(library): move library/definitional/util module to library
feat(library/definitional/equations): add support for inaccessible patterns
refactor(frontends/lean): move local_context to library
fix(library/unifier): handle missing first-order flex-flex case
feat(frontends/lean): elaborate recursive equations

Remark: we are not compiling them yet.
refactor(library/sigma): fix/use sigma notation