dmrecon: load embeddings in a thread-safe way

In some places, cache_cleanup could remove an embedding after it was
loaded with ensure_embedding but before it was actually used.