[svn-r10558] use MPI_Count in MPI_Status
This commit actually does a few things to the status object: (1) `int count` becomes `MPI_Count count`; (2) `count` & `cancelled` have been reordered after the "public" fields (e.g., MPI_TAG) to ensure that direct access from Fortran is not somehow broken by the (potentially) non-INTEGER count field; (3) and a new future-proofing field, `abi_slush_fund`, has been added to attempt to allow us to add fields to the status object in the future without having to break ABI compatibility. There's still too much duplication of the status object's contents/layout in multiple pieces of the code, but I don't see a reasonable way to fix this in the near term. Warning: large count breaks the experimental Fortran binding code generated for handling the "sizeof(int)!=sizeof(MPI_Fint)" case. Reviewed by balaji@.