All error conditions should goes into the callback for Iterator.
Merge remote-tracking branch 'origin/less-throwing-in-iterator'
@0.5.0 release