cmake: try_run stderr should be ignored
We put any content from executing gmx_cpuid into the cache file and the buildinfo.h. If the executable write other stuff to output besides the normal result and that stuff contains spaces or other special character the build fails with odd compiler errors. Especially because we also capture stderr, any linked library with prints errors can cause this issue. An example is the craype-hugepages: https://mailman-1.sys.kth.se/pipermail/gromacs.org_gmx-developers/2015-December/008866.html.
We should either ignore stderr or test that no extra output is printed.
Ignore stderr when detecting SIMD and build info
Cray and some other stupid compilers echo extra stuff to stderr when
compiling a normal source file. Unfortunately, the standard CMake
try_run cannot ignore stderr.
Refactored some try_run calls to try_compile + try_run. This
incidentally makes build-host detection run faster because the same
binary is not compiled multiple times. The results of the detections
are now set up so that an initial default value is constructed,
replaced if the compilation and run both succeed, before finally being
Noted some TODOs for future cleanup of the duplication in such code.