DiscovererWorker: Fix lock inversion
Register & unregister the FsHolder callback from the discoverer thread instead of the thread that starts the discoverer. If the FsHolder callback is registered from enqueue(), we lock the discoverer mutex, then the fs holder mutex, and will lock in the opposite order when the callback is invoked