Encapsulate multi-process communication (part 2)
Created by: bradking
Continue work started in #1691 to encapsulate multi-process communication behind a helper::Comm API:
- Encapsulate remaining MPI types and constants inside
helper::Command offer equivalents publicly. - Convert more code from direct MPI use over to
helper::Comm. Add APIs to the latter as needed. * Abstract thehelper::Commimplementation internally to work with either MPI or a dummy backend. - Replace MPI with
helper::Commin coreADIOS,IO, andStreaminterfaces. - Minimize direct inclusion of
ADIOSMPI.hto only places that still use MPI directly.