DList head/tail -> headOption/tailOption
restored/deprecated existing head/tail; fixed test idiocy
fixed version (duh)
call-by-need instead of call-by-name in Bind#ifM, Bind#ap
tweaks to support 2.9
minor picky stuff
widen
add Cofree.unfold
Endo is InvariantFunctor

https://github.com/scalaz/scalaz/blob/v6.0.4/core/src/main/scala/scalaz/InvariantFunctor.scala#L23-L25
EndoTest
Added mapK to StateT
Made the type of mapK on StateT more general.
add Profunctor#invariantFunctor
Squish `Unapply` implicitNotFound msg into 1 line.

I hit this issue when trying to generate a
[Kapeli Dash](http://kapeli.com/dash) docset for Scalaz
using [this](https://bitbucket.org/inkytonik/mkscaladocset).

Issue: Scaladoc generation first checks to see if the
message is >= 36 characters long - if so, instead of
showing a big whopping message in the HTML it shoves
it into a tag attribute instead with the motivation being
you can hover your mouse over it to read the full message.

However, the generation process will also replace any
newlines with the HTML newline, `<br />`. When it goes
to turn `Unapply`'s `implicitNotFound` message (which is
>= 36 characters long *and* multi-line) it translates
the end of each line into `<br />`, then puts it into a
tag attribute. As far as I know, angle brackets are not
allowed in HTML tag attributes, but Scaladoc generation
will gladly generate it anyways.

My proposed solution is simply - squash it all down into
one line.
add cokleisliProfunctor
CoKleisliTest
EndomorphicTest
override DisjunctionInstances2#map
fix compose#laws parameter type
override mapInstance#map