[#917] Fix Enumerators when dealing with large amount of data

- Enumerator.generateM
- Enumerator.unfold
- Enumerator.unfoldM

See https://gist.github.com/4250672 for details.