update Q.async to work with current ES6 generators without send()