Updated follow-redirects. Timeout during stream bug in follow-redirects creates a socket hangup instead of a timeout event. Adapted timeout tests to be consistent with this behavior. Fails in node 12.
Downloader.download() now resolves with an object, currently containing two properties: "filePath"(string|null) and "downloadStatus"('COMPLETE'|'ABORTED').
filePath will be null if the download was interrupted from one of the hooks(In this case, downloadStatus will be "ABORTED").
Added a reference to the response body, to the error object(error.responseBody). Original IncomingMessage response stream is still available at error.response, but being that it's already consumed by the time the error is thrown, any existing code relying on streaming this stream manually will fail.