Yet another promise wrapper around request. This one actually works.