Rewrite of adjoint equivalence proofs

I've added types for `iso' (qinv in the book) and what was previously called `adj-iso' (hae in the book) and rewritten the proofs relating them to match those given in the book using the equational reasoning combinators. Although, to be honest, I'm not sure they're more readable.