This is the initial commit of Chris C-Z's fork of mpp. The changes (by file) include: (global) renaming the internal directory include/detail to include/mpp and changing std::unique_ptr< T > to std::shared_ptr< T >; (comm.h) adding barrier and split methods to the comm object, as well as making it's constructor and check_init methods public; (decls.h) including several standard headers required for clean compilation, moving here the definition of any and adding a corresponding constant for MPI_UNDEFINED, and placing here a global typedef for mpi_status_ptr; (message.h) added members to record source, destination, and probe flag, as well as matching getters/setters to the message object; (request.h) modified getStatus to return a shared pointer regardless of state of status, and renamed isDone to test to emphasize relationship to MPI call; (status.h) added a boolean check to see if the status object holds a defined MPI_Status type, and modified all methods in status to call the check immediately; (endpoint.h) added probe method to call MPI_Iprobe, and modified send_impl, isend, and the operators to store the message's source and destiionation in the msg_impl< T > object; (type_traits.h) no changes.