Delay final cleanup of DataRepositories until end of DUChain shutdown.

This is required, as otherwise non-disk-refcounted items might get
deleted but then later-on accessed again. This is a reason for
random crashes during shutdown, which only occur for complicated
DUChain structures. Only then would further cleanup happen after
the call to ItemRepo's finalCleanup, and DUContexts still lie
around in memory...

Thankfully we had a reproducible test case with the code completion
unit test in kdev-qmljs (master) which is fixed by this patch.
Logically, I'm also confident that this is the correct approach.

BUG: 264931