Provides a custom GTest Environment and Listener for MPI
Adds unit tests which run first that use GTest to make sure failed GTest tests are detected as failed (I put GTest in your GTest so you can GTest while you GTest)
Now on a failure we'll get something like:
3: [==========] Running 40 tests from 21 test suites.
3: [----------] Global test environment set-up.
3: [----------] 6 tests from testgroup
3: [ RUN ] testgroup.testname
3: /path/to/file:32: Failure
3: Value of: true
3: Actual: true
3: Expected: false
3:
3: (rank 0 failed) // added this
3: (some rank failed, more information above) // added this
Now on a failure we'll get something like: