s_expressions-generic_caches: add Move functions to build a cache directly from a descriptor