ENH: Evade the collectives in GenericIO::readData

This commit merges Hal's updates that introduce
one more variable to the GenericIO::readData function
which allows the user to specify whether to do collective
stats or not. This enables calling this routine, e.g.,
DistributedHaloEvolutionTree::ReadBlock, from a subset of
the ranks in a communicator without hanging.