A q-style promise wrapper for HTTP requests