Convert gmx_detect_hardware.c to C++

Minor fixes to keep new compilers and static analysis happy. The
change to the return behaviour of sizeof_cuda_dev_info does not
matter, because it is only used if it is non-zero.

Change-Id: If2c9c2676667316637a30af9ead71fb9f77058c2