sync: manage configChanged connection in C++ layer to avoid crash (fixes #2425)
Because `self.finishedfunc = finished` makes circular reference, Python part of SyncWidget is not deleted immediately. So, configChanged() tries to create PathsModel with parent=self, but here self is half dead.
This works around the problem by breaking up signal connection when C++ object is deleted. But still SyncWidget has a GC issue.