Keep new sparse search corpora from sharing an index name
New sparse search indexes were named after the current second, so two created in the same second collided: Qdrant rejected the second one, and Elasticsearch and OpenSearch deleted the first index and replaced it. Names now end in a UUID, the helpers no longer delete a colliding index, and reusing an existing index works as before.
The test freezes the clock and runs two builds against one real in-memory Qdrant database. Elasticsearch and OpenSearch got source review, not live-server tests.