Update to the latest contravariant and MonadCatchIO-transformers
guard against newer semigroupoids
avoid -Werror by using ()'s on instance import
Merge pull request #464 from jwiegley/3.10-maintenance

Updates for contravariant-1.1 and new semigroupoids and comonad