Class for parallel reading of partitioned mesh data

need to add `(PETSC_VERSION_MAJOR > 3) ||` as Tom commented before