test_any was actually nly testing the firt request due to a typo in the for loop.
There are 2 function in nonblocking_test. Which makes debuging less convenient with no benefit.
In wait_any, we need to test for compound recv of serialized object that just got the size but not the body (that is, request[1] == null & handler != null).

Note that in:
if (current->m_requests[0] != MPI_REQUEST_NULL &&
        (current->m_requests[1] != MPI_REQUEST_NULL ||
         current->m_handler)) {
      if (optional<status> result = current->test())
        return std::make_pair(*result, current);
    }

I suspect the 3 line test should be removed and every thng handled in request::test (which is supposed to tell wheter we have a complete request).
But I have no idea why it was done like that in the first place.
Merge pull request #15 from aminiussi/map-c-update

Propagate change made in mpi-forum documentation.
A mpi-1.1 directory was inserted on the web-site.
Python section was missing [endsec]
Merge pull request #17 from aminiussi/develop

Python section was missing [endsec]
Merge branch 'develop' into nonblocking_test_split
Merge pull request #13 from aminiussi/nonblocking_test_split

 split nonblocking_test in two functions, one to run all tests and one to run simgle tests.29292
Merge branch 'develop' into test_any_bug
Merge pull request #12 from aminiussi/test_any_bug

Only the first request was tested in test_any. We now test all of them.
Merge branch 'develop' into compound_recv_wait
Merge pull request #14 from aminiussi/compound_recv_wait

Wait_any is missing some compound recv with intel MPI.
In practice, this change should only affect implementations which, when stacking 2 send or 2 recv will only execute the second one when the first one is completed. As a result, when testing a compound recv on compound send, we get a catch22. This merge fixes that problem.
Merge branch 'develop' into cartesian