Add tests for iterateM and unfoldrM

test for unfoldrM is not used yet

It required generalization of Arbitrary and TestData instances for
Writer monad
Enbale tests for unfoldr,unfoldrM
Add tests for unfoldr{N,NM}