refactor ZigZag
readability: make most fields in Category and Functor implicit
cosmetic
Colimit: add constructor/eliminator view
Comma: a few related functors
FunctorCategory: precomposition functor
Diagonal functor C -> [I,C]
Opposite: [A^op,B^op]^op -> [A,B]
Categories.Terminal: make the category more accessible
a few more ways to build setoids
readability: alternative formulation of BinaryCoproducts
Merge remote-tracking branch 'origin/master'