fix: strictly use datasets images when constructing merged shots metadata
fix: strictly use datasets images when constructing merged shots metadata

Summary:
This Diff makes sure that only shots that are in the dataset are being used when constructing the merged's shots metadata :
 - We added checks in `SyntheticDataset` to repro the issue (we were using a subset already but no checking in most accessors)
 - We added a presence check in the assigning function

Reviewed By: paulinus, tobias-o

Differential Revision: D35081796

fbshipit-source-id: 3a6fc87b74d0a86ff2007a6faff755d1ee206ccc

mapillary/OpenSfM,mapillary/OpenSfM,mapillary/OpenSfM,mapillary/OpenSfM,mapillary/OpenSfM