This class handles the download of an external file. Typically called when the user clicks the "Download" button in a FileListEditor shown in an EntryEditor.
The FileListEditor constructs the DownloadExternalFile instance, then calls the download() method passing a reference to itself as a callback. The download() method asks for the URL, then starts the download. When the download is completed, it calls the downloadCompleted() method on the callback FileListEditor, which then needs to take care of linking to the file. The local filename is passed as an argument to the downloadCompleted() method.
If the download is cancelled, or failed, the user is informed. The callback is never called.