rename PromiseIterator to AsyncIterator
asyncIterator supports both promises/cps
refactored options
refactor within createAsyncFunction()
refactor within createAsyncFunction() II
improved AsyncIterator