make samples use a dynamic ID based on their file content
This MR replaces the automatic ID of the Sample
and InputFile
classes by a deterministic ID system which uses the input files and trees as well as selections.
Doing this should ensure that, if we define the same set of files twice, it will identify as the same sample (and avoid redundancy in the loop).