Make all Mini back ends use mono-hwcap for CPU feature detection.

Also some related cleanup as a result of this.
Check for sys/auxv.h and only use it if available.
Remove the JIT-ed CPUID hack from mono-hwcap-x86.

A proper workaround for the 32-bit PIC issue exists: Using xchg to
unclobber EBX which is used by the compiler. This means we can just
use inline assembly to issue the instruction, eliminating the hack
where we JIT-compiled a function to do the CPUID.

This patch also makes it so that we use MSVC's __cpuid intrinsic
on both 32-bit and 64-bit x86 since it's available on both.
Remove now-unneeded mono_aot_only guard around mono_hwcap_init ().

We no longer use the code manager in any of the hwcap implementations,
so we don't need to disable the hwcap infrastructure in full-aot mode.
Add a MONO_VERBOSE_HWCAP environment variable.

This causes detected hardware features to be printed to stdout.
configure: Remove obsolete FIXME comment.
Use GCC atomics when USE_GCC_ATOMIC_OPS is defined.

We still prefer Windows.h functions when compiling for Windows, and
MSVC intrinsics for memory barriers when compiling with MSVC.
Enable GCC atomics on x86 and amd64.
PowerPC build fix in mono-hwcap-ppc.
Enable GCC atomics on ppc and ppc64.
Enable GCC atomics on arm.