Writes and reads a CaseFile under a directory; a bad file is a typed result, not a throw.
Reads what the manifest lists. Hashes and the chain are CaseFile.check's job.