(PUP-1044) Make FileBucket::File use a file when possible

This replaces the usage of binread of the entire file contents whenever possible (for computation of checksums, or for returning the size of the data).
good catch, how should it be done to get the same effect as the stream used by a binread ?