Shared SHMEM control structure

The shmem control structure is now shared by all parts of the code.
The structure is initialised if the code runs in parallel and assigned
to a pointer in the CR structure.
The PME buffers has been moved to this shared control structure,
and are initialised by all PEs.

Some other minor changes to cleanup code.

Tested with 8p, adh.
Improved dd_sendrecv2_rvec_off implementation

A slightly faster implementation of the SendRecv in both directions
has been added. This implementation assumes that the size of the data
sent and the data received are the same, which seems to be fine according
to the code and the test runs.
However, a macro (SENDRECV2_SIZE_NOT_EQUAL) preserves the old size interchange code.

Tested with 8p and adh.