utils/writer-base: Move caching of non-existing files to utils
merge-parser: Implement marshal (mostly)