Bugfixes and minor improvements from Allinea

(write_fortran_wrappers): Don't hard-code status as the argument name.
(castType): Allow spaces between the square brackets.
Handle MPI_STATUS_IGNORE using MPI_F_STATUS_IGNORE.
Add support for optional functions.
Add MPICH-1 support for recent versions with c2f functions.
Add support for MPI_BOTTOM and MPI_IN_PLACE.
Enable support for Intel, PGI and Cray C compilers.
Add support for MPI_Init_thread Fortran bindings.
Define MPI_Status_f2c as weak symbol in MAP MPI wrapper for M(VA)PICH1.
Fix handling of MPI_Waitany and MPI_Waitsome