Use temp file to save metadata for readonly file

Unless I am reading it incorrectly, the TempFile.WithExtension neither solves the problem of not creating an extra file nor ensuring the file with the given extension doesn't exist.  But it is still better to use it for reuse.  (I could create a new version which deletes the file and only gives the path -- there is precedence for that in CreateAndGetPathButDontMakeTheFile, and I could try to fix the issue of ensuring the file isn't there if desired.)