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.
> Should the version be used for ordering? 

I'm have been wondering - where do we use the ordering for these in the first place? /question