Fix crash when using datastore_get_or_add for an existing datastore
The case where the datastore already exists was masked by @functools.lru_cache, which persists for the lifetime of a test, causing the function not to be actually called twice.
Resolves swh/infra/sysadm-environment#4228 (closed)
Migrated from D7896 (view on Phabricator)