Move GPU assignment functions into a separate file
2 GPU assignment functions (gmx_select_gpu_ids() and set_gpu_ids())
are moved from detecthardware.cpp to a new file hardwareassign.cpp
to separate the GPU scheduling from GPU detection. They are also renamed
for clarity: set_gpu_ids() to assign_rank_gpu_ids(),
gmx_select_gpu_ids() to gmx_select_rank_gpu_ids().
Related deprecated function print_gpu_detection_stats() is also moved,
and changed to only print errors in case of heterogenous MPI configurations,
like it was intended to.
sprint_gpus() is refactored.
Change-Id: Ieef402954194e747e4c6dc5535e0652b5f862e28