Snapshot metadata

This isnt for merging yet, just WIP,

Bit of a slow start, but figured while I am still finding my way around the codebase i'll raise this so ppl can peek at the progress more conveniently and give me feedback as i go.
I'm assuming here that the list of strings is a list of lines to write to the file,
I've been burned by this assumption with the way i assumed the ListParser worked before, so i just need to double check that i am correct here too.