PoolSvc: thread-checker cleanup and extra locking

`PoolSvc::createCollection` was marked as not thread-safe due to the use
of the `pool::CollectionFactory` singleton. Use the general PoolSvc
mutex to protect access to it and mark it as safe.

Also lock when calling `registerPFN` on the catalog as it is not clear
to me if the context-specific persistency lock is good enough.

Finally remove some unnecessary mutable, thread-checker annotations and
update link dependencies.
1 job for poolsvc in 0 seconds (queued for 52 seconds)