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.