Class for parallel reading of partitioned mesh data

Any better idea to make  it flexible here? ``MPI_LONG`` is not a variable type, and it can not be passed through template argument. Also, one can not take it to define a constant or variable as ``MPI_LONG a ;``.  ```MyInt`` is defined just to keep the same integer type flexibly.