Prove A * (B * C) ≅ (A * B) * C for categories
Merge pull request #430 from JasonGross/prod-assoc

A * (B * C) ≅ (A * B) * C, for categories
Work around bug 3584

This is https://coq.inria.fr/bugs/show_bug.cgi?id=3584, pattern matching
should be desugared to primitive projection usage (Error:
Pattern-matching expression on an object of inductive type sigT has
invalid information.)