Comma categories project to product categories

Construct the projection functor.  Ported from CommaCategoryProjection.v
at
https://bitbucket.org/JasonGross/catdb/src/4eb6407c6ca3200bebefaa3a1834d05c49b01846/CommaCategoryProjection.v?at=default.
I don't have the energy right now to port CommaCategoryInducedFunctors.v
at
https://bitbucket.org/JasonGross/catdb/src/4eb6407c6ca3200bebefaa3a1834d05c49b01846/CommaCategoryInducedFunctors.v?at=default
or the more complicated CommaCategoryProjectionFunctors.v.
tightened up Categories.Comma.Functors
made more morphism manipulation mechanisms
(cherry picked from commit 041aa1666d06d79d2b68a23e0ef510c8e7290bc6)
backported AUReasoning
backported Pushes in Categories.Square
ported Categories.Comma.Functores.InducedFunctor from jgross's coq library
fixing Adjunction imports: "hiding" is not very future-proof
DinaturalTransformation: _∘>_ via duality
ported Categories.End to AUReasoning
Categories.Functor.Discrete
unfinished Grothendieck construction attempt
Groth: an associativity law proved.
Groth: ugly assoc proof, needs cleanup
Groth: ∘-resp-≡ and smaller assoc proof
Groth: completed! and with nicer proofs.
Groth: renamings
equational reasoning for Congruence.Heterogeneous
Groth: rewrote proofs with HetReasoning
moving ≣-relevant to Categories.Support.Experimental
Categories.Support.Experimental