MPISharder class

Utility for distributing a global mesh across MPI ranks by splitting into per-rank shards, scattering them from a root, and gathering the local mesh on each rank.

The typical usage is:

MPISharder sharder(ctx);
auto mpiMesh = sharder.distribute(partitioner, rootRank);