[plugins/kio-webdav] Refactor code using coroutines
The code consists of a series of async operations/jobs, split across several functions/classes
This comes with quite some boilerplate and makes the code rather hard to follow
Using coroutines we can write the async code in a linear fashion, reducing the boilerplate and making it more concise