Require stronger type evidence from Unapplys, in the form of Leibniz instances.

Cherry-picking pull request #325 (ba19c91, c976790)
Removes the ambiguity-inducing ^ method from FunctorOps and FunctorSyntax

Cherry-picking pull request #326 (35a3301)
add ToFoldable1Ops and ToTraverse1Ops to ToTypeClassOps

Cherry-picking pull request #327 (1d1efde)