fix itignore and npmignore
renaming

- wrapper() to runInContext()
- Context to RunContext
renaming II

AsyncOutput to OutputKind
renaming III

Iterator to PromiseIterator
altered iterator.next() return type

was: { value: Promise<any>; done: Promise<boolean>; }
now: Promise<{ value?: any; done: boolean; }>

Also fixed iteration examples
refactoring async options
async now supports continuation-passing style