Simple heuristic to reduce global max calls

A simple heuristic has been added in the domain decomposition
part of the code so that if the maximum of an allocation does
not change on a certain number of calls (defined by the macro
MAX_SAME, declared in the same place of the allocation) the
reallocation and the global maximum is not computed, and the code
assumes that the buffer will not change anymore during the simulation.
If after MAX_SAME calls the buffer requested is bigger than the
pre-allocated, the code stops with a gmx_fatal complaining of the incorrect
buffer size.
This should help to tune the values of the MAX_SAME variable.

Some upper-bounds to the buffer reallocation have been adjusted in the
setup_dd_communication and setup_specat_communication.
This may slighlty increase the memory footprint, and needs to be checked
when using several nodes in HECToR.

Tested with 8p and adh.