Fix throwing errors into the generator

Fixes issue #5
Always use an implicit done callback.
Make gen more strict about being called exactly once