Fix stop() killing the list job even if another dirlister needs it.
Regression introduced by me in bef0bd3e3ff.
Symptom: "dolphin $HOME" showed up empty.
In the case of concurrent listings, I made the use of the cached items job
conditional (only created if there's anything to emit) so that we can join
the current listjob without killing it (updateDirectory) if it hasn't emitted
The unittest also uncovered inconsistencies in the emission of the cancelled
signal, now cacheditemsjob behaves like the listjob in this respect.