WIP: automatic leftover handling:

Add bimap{Accum}Chunks{M} and doContEteeBi functions
add mapStream pushback test
minor refactors
cleanup
IO.Fd: clean up warning
add enumFromCallbackCatches
IO: use enumFromCallbackCatches and handle EofExceptions
heads: remove overlapping pattern match

this line:
  step !cnt str stream@EOF{} | LL.null str = ContDone cnt stream
is superfluous as the first case will match earlier (and do the same thing)
add EofException handling to pure enumerators

enumPure1Chunk, enumChunkRemaining, enumList will now clear iteratees in
EofException.  This means the following:

> (enumEof >=> enumPure1Chunk xs) I.head

will work properly.
ListLike: move a helper function closer to use site (roll)
roll: check for invalid arguments
Iteratee.take: pass exceptions through

although a breaking change, this is almost certainly the expected behavior.
a lot of work on tests