minor fix for bug 9520:
- socket configuration attempts to determine if system supports ipv6
- checks app configuration, but configuration throws exception if called from embedded context
- solution is to put a try/catch guard and fall to an alternative test for ipv6
Improve detecting if a handle is a console on Windows.

Use GetConsoleMode. If it succeeds (returns non-zero) then the handle is a
console. If it fails (returns zero) then the handle is not a console.

The old check, (GetFileType (handle) == FILE_TYPE_CHAR) assumes that a handle
of type FILE_TYPE_CHAR is a console. This falsely reports a handle directed to
NUL as a console.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=12752
Disable TestDisposeOnCallback for MONOTOUCH, the test does not really work as the state is null (and throws in a separate thread)
Properly null terminate strings in mono_dwarf_escape_path (). Fixes #13050.
Share byref arguments in runtime invoke signatures with int&. Remove the restrictions on sharing runtime invoke wrappers of valuetype instance methods, its not longer needed.
Remove the async hacks from the gsharedvt code, gsharedvt can now handle async methods, and the infrastructure methods they use.
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.
PowerPC build fix in mono-hwcap-ppc.
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.
Enable GCC atomics on ppc and ppc64.
Enable GCC atomics on arm.
Enable GCC atomics on mips.
Another attempt at fixing mono_atomic_load_acquire() on MSVC. Fixes #13340.
Lazy initialization of type parameters expanded interfaces. Fixes #13324