Fix and improve behaviour for retrying mdrun

Implemented use_separate_pme_ranks in terms of the number of MPI
ranks. Fixed a bug where it would leave undef in the number of PP
ranks in use, which stopped -gpu_id being propagated.

Added support to the mdrun-retry mechanism for adapting the number of
ranks to equal the number of GPUs when the first attempt failed.

Added output to inform the user explicitly that a retry is being
attempted.

Added new fatal error if the user specifies both -nt and -np,
which supports the existing assumptions that only one kind
of MPI-level parallelism is being attempted.

When reporting the style of mdrun calls that might be made, some of
the output now acknowledges that the harness might be smart and make
re-attempts with different settings than the user/default specified.

Improved documentation here also.

Fixes #1543

Change-Id: Ie36fc26b72fac3a90b6b6991533ffb0913c6afcb