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.
This is a pretty unfortunate naming clash with another in progress change (https://github.com/ambiata/ivory/blob/topic/plan/ivory-core/src/main/scala/com/ambiata/ivory/core/SnapshotMetadata.scala) we will need to resolve one way or the other. One idea would be for this representation of the file to be "SnapshotManifest" and the other one stay how it is, or for us to rename the other one - name not so sure. Might be worth a quick offline chat to make sure there are actually two different concepts and how to resolve.