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.
As discussed IRL my gut feeling is, for now, to just use a case class (as it was) and populate with the relevant information. That may not be possible at some point in the future when we add more fields.