MPI abstraction.
Merge branch 'mpi-abstraction'
Add CMakeLists.txt