retriable-download (npm): Download to a temp file (with retries).  Promise based.
Keywords: download|retry|promise|stream|temp