try to find the culprit for #304
it seems that MPI_IN_PLACE and Petsc don't play well together. This test should
be sent to the PETSc guys. 4 different executables are now generated for
feelpp_test_gatherscatter
My open-mpi version is 1.8.1
boost mpi is 1.56
petsc is 3.5.1

the boost mpi flavors just uses boost mpi to initialize mpi
the petsc flavors just include <petsc.h>

here are the results

 - feelpp_test_gatherscatter_mpi OK
 - feelpp_test_gatherscatter_boostmpi OK
 - feelpp_test_gatherscatter_mpi_petsc CRASHES with openmpi 1.8.1
 - feelpp_test_gatherscatter_boostmpi_petsc HANGS

`clearly something fishy is happening within the PETSc headers that destabilize MPI

here is the crash with mpi+petsc
```
[ubuntu:11304] *** An error occurred in MPI_Type_size
[ubuntu:11304] *** on communicator MPI_COMM_WORLD
[ubuntu:11304] *** MPI_ERR_TYPE: invalid datatype
[ubuntu:11304] *** MPI_ERRORS_ARE_FATAL: your MPI job will now abort
--------------------------------------------------------------------------
mpirun has exited due to process rank 0 with PID 11304 on
node ubuntu exiting improperly. There are two reasons this could occur:

1. this process did not call "init" before exiting, but others in
the job did. This can cause a job to hang indefinitely while it waits
for all processes to call "init". By rule, if one process calls "init",
then ALL processes must call "init" prior to termination.

2. this process called "init", but exited without calling "finalize".
By rule, all processes that call "init" MUST call "finalize" prior to
exiting or it will be considered an "abnormal termination"

This may have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).
--------------------------------------------------------------------------
``