Shmem increased realloc min block size

New routine over_alloc_shmem(new_size) used within sh_renew_buf.
Defined in shmem_utils.c
Replaced a call to shfree by its warpper

The call to free savex within sim_util.c used shfree directly
instead of its wrapper sh_sfree. This is fixed here.
Replaced vbuf allocation with shrealloc

In order to use nonbuffered routines the calls to realloc
comm->vbuff need to be symmetric.
It is important to notice that the setup_dd_communication has
two modes of operation, in place or not in place.
These modes are not symmetric (i.e a PE can be operating in-place
whilst the rest is not in place).
Originally vbuf2 was ony reallocated if the operating mode was in-place,
thus creating an asymmetric of allocations and deadlocking the code.
Now the reallocation of vbuf2 (and potentially buf_int2 too) is always done.

A potential improvement may be to broadcast the value of InPlace to reallocate only in the
event if one PE is inPlace and not if none of them are operating in such a mode.
Cleanup in sh_renew_buf

The sh_renew_buf function now computes the maximum across al PEs
before calling the over_alloc, to reduce the total number of reallocs.
The default overalloc factor has been reduced
Symmetric allocation of f in md.c

The allocation of f in the md driver is now symmetric.
Reduction of global_max calls

In order to reduce the number of global_max_calls, dd_realloc_state
assumes that the size of the allocation is symmetric.

Also, vbuf->comm within setup_dd_communication is copied to a temporary
vector and then recovered to avoid reallocating the symmetric heap inside
the parallel region.
Symmetric reallocation of fr->cg_m inside forcerec

A missed reallocation of fr->cg_m has been converted to symmetric.
Symmetric realocation of em.s in minimize

A memory reallocation inside minimize.c has been replaced by its symmetric counterpart.
dd_sendrecv_rvec_off partially working

the nbnxn_vsite testcase still complains of a non-symmetric variable passed
as parameter to a symm. routine.
The code of the routine uses getmem instead of put to avoid memory corruption.