PoolSvc::createCollection was marked as not thread-safe due to the use
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.