Add a monadic unfoldM, which makes sense for streaming

As a plain function unfoldM is partial, since it may never return the
final list; but in a conduit context, it makes perfect sense.
Add a test for unfoldM
Version bump