MPI standard forbids input and output buffers of MPI_Allreduce() to be the same

Note: Boost.MPI >=1.55 supports a special type inplace_t to indicate
that input data can be overriden with an output value