Itertools update to version 0.11 (could be another PR) -> 1st commit
change Fetch trait: Make fn fetch use &self instead of &mut self (could be another PR too) -> 2nd commit
This change is motivated mainly because get_sample need only &self
Implement ExactSizeIterator for all iterator when possible -> This allow to get the size of the dataset/dataloader through the iterator -> 3rd commit
This PR includes: