Only joining threads if they are created
Making sure that clang_completer tests included
Destroying clang data last, after threads done

Otherwise this will cause issues if the clang threads are still trying to
access the clang data.