Add progress.
Remove nonexistent files and folders.
Retry requests.
Add method execute.
Change the creation of RemoteFile.
Move creation to specific classes.
Rename ProgressListener.
Add class RequestExecutable.
Add factories for folders.