Wrapper for matthewp/xhr that uses promises instead of callbacks