define embedding, (split) surjection, retraction, existential quantifier, 'or' connective
also add a whole bunch of theorems about these definitions
still has two sorry's which can be solved after #564 is closed
remove funext class,
remove a couple of sorry's,
add characterization of equality in trunctypes,
use Jeremy's format for headers everywhere in the HoTT library,
continue working on Yoneda embedding
also add more definitions in types.pi, types.path, algebra.precategory
the (pre)category library still needs cleanup
authors of this commit: @avigad, @javra, @fpvandoorn