s/7.0.4/7.0.5
UnwriterT Bind law test
add FutureInstances to AllInstances
optimize groupWhen
groupWhen test
simplified type lambda
mapAccumLeft and mapAccumRight test
optimize mapAccumLeft and mapAccumRight. avoid stack overflow
Adhere to (or circumvent) stricter 2.11 variance checks

Focus is to get things compiling again. The places with
`@uncheckedVariance` might need review/deprecation.

Good old Liskov features heavily.

(forward-port of 8ddb8d31b3fbdf9bf0e715da94f1a2124e982afd)
Further variance problems in 2.11.0-M8.
Adhere to stricter 2.11 variance checks. (#598)
remove unused imports
tailrec annotation
remove unnecessary type parameter
DList head/tail -> headOption/tailOption
restored/deprecated existing head/tail; fixed test idiocy
fixed version (duh)
Merge pull request #602 from tpolecat/dlist-fix

DList head/tail -> headOption/tailOption
call-by-need instead of call-by-name in Bind#ifM, Bind#ap
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.