MPI_Allreduce is apparently unable to accept input and output arguments at the same location.

Fix this by determining when &input=&output and in that case pass MPI_IN_PLACE.
Add a bunch of missing tests for Utilities::MPI::max.
Merge pull request #183 from bangerth/harden-mpi-reductions

Harden mpi reductions