StatJob: make mostLocalUrl work only with protoclClass == :local
The code was handling UDS_LOCAL_PATH in two different ways:
- if the job was constructed via KIO::mostLocalUrl and the protocolClass wasn't :local, we cancelled the job
- if the job was constructed via KIO::stat/statDetails, and UDS_LOCAL_PATH was set, then the latter would be used even if the Class wasn't :local
this meant that if some code uses KRun and then the KIOExec code path (which uses KIO::mostLocalUrl), we'd get a result that's different if the code uses e.g. OpenUrlJob, which uses stat/statDetails. I hit this while working on https://bugs.kde.org/show_bug.cgi?id=425948
Make StatJob more consistent, it shouldn't matter how the job was constructed.
Also, per sitter's suggestion, add a runtime warning if UDS_LOCAL_PATH is set but the protocol Class isn't :local; and return the url as-is in that case.