Require stronger type evidence from Unapplys, in the form of Leibniz instances.
Use Unapply#leibniz instead of apply where convenient.
Removes the ambiguity-inducing ^ method from FunctorOps and FunctorSyntax

This symbolic name for the map function is superfluous, and previously caused
ambiguity problems when functor syntax was imported from multiple locations, such as:

scala> import scalaz.syntax.traverse._
import scalaz.syntax.traverse._

scala> import scalaz.std.option._
import scalaz.std.option._

scala> ^(Option(1), Option(2)) { _ + _ }

which previously was a compilation error due to ambiguity, but which is now fine.
Merge pull request #325 from S11001001/topic/unapply-leibniz

Add leibniz to Unapply
Merge pull request #326 from nuttycom/topic/remove_functor_caret

Removes the ambiguity-inducing ^ method from FunctorOps and FunctorSyntax