[WriteTransaction] Also recurse in directories that are not going to be removed
On its actual state, removeRecursively only removes whole directory trees for which shouldDelete returns true since its root. Like now- excluded directories that still are in the database. But, in addition to that, IndexCleaner tries to use it to remove files that don't exist anymore in the disk. Since removeRecursively doesn't recurse on folders included for indexing, it cannot actually check for that.
Edited by jrv ezg