(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).