Return SnapshotMeta and load exact Dictionary for pivot

Part 2...

This possibly relies a little on @maxpow4h change to `DictionaryId` (I'm happy to wait if that's going to be done soon). 

The more important question is whether we store a commit id in the snapshot meta, or just the dictionary id. Or is there another option?
This file in particular needs the changes from Max. I wouldn't look too closely until he merges, or I do something slightly cleaner.