Adjoint universal

Connect adjoints and universal morphisms.

This is on top of #251 and #253, and is rather slow.  I'm probably going to look in to ways of speeding it up.