Be explicit about which implicit we're passing.

Implicit search actually works too well in Scala 2.11.0-SNAPSHOT,
and it not reports an ambiguity:

    [error] /Users/jason/code/scalaz/core/src/main/scala/scalaz/Distributive.scala:29: ambiguous implicit values:
    [error]  both value idInstance in package scalaz of type => scalaz.Traverse1[scalaz.Id.Id] with scalaz.Each[scalaz.Id.Id] with scalaz.Monad[scalaz.Id.Id] with scalaz.Comonad[scalaz.Id.Id] with scalaz.Cojoin[scalaz.Id.Id] with scalaz.Distributive[scalaz.Id.Id] with scalaz.Zip[scalaz.Id.Id] with scalaz.Unzip[scalaz.Id.Id] with scalaz.Cozip[scalaz.Id.Id]
    [error]  and value evidence$4 of type scalaz.Functor[G]
    [error]  match expected type scalaz.Functor[G]
    [error]     distribution.run(fa)(f)
    [error]     ^

It might in fact be prudent to remove the implicit idInstance from
the package object scalaz. I know we've been flip-flopping on this
matter, the advantage of a protracted development cycle is that we're
testing with no less than three major versions of the Scala compiler,
so we're able to find out when we've been relying on unspecified
behaviour!