Update to work properly with current KIO
Eensure that either error() or finished() is only called once. getDrive() or initRequest() may call error() if the drive is not ready or loaded, but this is not a problem if the root of the slave is being examined. error() having been called means that finished() cannot be called later. Implement whichFromUrl() to detect slave or drive root without having to attempt to access the drive. Check for "no host allowed in URL" in a separate function checkNoHost(), because calling initRequest() is delayed until it is known that it will be needed. Create listing entries for "." to avoid diagnostic from KIO. Log diagnostic messages for missing encoder problems. Add escapePath() to centralise the replacement of "/" -> "%2F". Move app_dir() and app_file() upwards so that they can be used to simplify stat().