a thenable Future like Q module for JavaScript