promise returning browserifiable request wrapper