feat(library/algebra): modify categories to use structures, prove basic theorems about discrete categories
fix(hott/trunc): add explicit coercion so that the notation works if nat is not opened
style(hott/path): indent within namespace, add variables
style(hott/types): some style fixes in prod and sigma
feat(hott/types): start characterization of pi-types and W-types
style(hott/types/W): change notation for W-types