Improved DD Send Recv implementation

Unnecesary communications (when both n_r in the receiver and n_s in the sender are zero)
have been removed, reducing the overall syncrhonization and improving performance.

Tested with 8p and 2p. Also with adh.
Alternative PME redistribution routine

An alternative implementation of the PME x redistribution have been added,
but it is disabled by default.
Apparently it causes random crashes with the Cray SHMEM implementation.
When working, produces correct results and reduces imbalance.