Replace underscores with hyphens when reading system locale

The locale descriptions in
<mono/metadata/culture-info-tables.h:culture_name_entries> use 'xx-yy'
format, where most current systems use 'xx_YY', including Mono itself in
<eglib/src/gmisc-win32.c:g_win32_getlocale>. In normalizing the system
locale for comparison, we should switch any underscores for dashes.

Mono used to do this, but commit
be532638f5e2160272ccf32e7a39ba7b2301a65b removed this behavior, which
causes System.Globalization.CultureInfo.CurrentCultureInfo to always
point to the invariant culture on systems with LANG similar to xx_YY.

These changes are released under MIT/X11 license.
socket-io: make it possible to specify an interface index as a MulticastInterface SocketOption on linux.

On windows, a value to IP_MULTICAST_IF with a most significant byte of zero is interpreted as an interface index instead of an ip address.
This makes it possible to set the interface index from .NET as follows:
socket.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName.MulticastInterface, IPAddress.HostToNetworkOrder(ifindex));

For this to work on other platforms, we need to detect this case and handle it with an ip_mreqn struct.
socket-io: pass MulticastOption InterfaceIndex into ip_mreqn imr_ifindex
socket-io.c: merge #ifdef HAVE_STRUCT_IP_MREQN of network interface index and address

This commit and the related commits 11b2e351d887ef439ac377bc8137ba409965a8fb and af9fc5f16f4358d016d73a82684beacabadfe10c) are under the MIT license.
[mcs] Don't merge unreachable if blocks
[jit] Remove the mdb debug-info files.
[jit] Kill debug-debugger.c
[jit] Kill more of mdb.
[jit] Remove the exception handling code of the old debugger.
[jit] Remove mono_debugger_handle_exception, which was only used by mdb.
[jit] Remove the rest of the API exposed by debug-mini.h.
[jit] Remove some unused definitions.
[jit] Kill the debug-mini.h header.
[runtime] Remove mono_debug_using_mono_debugger. This would only return true under mdb.
[runtime] Mark all symbols in mono-debug-debugger as private as we don't install that header.
[jit]Remove the last uses of MONO_DEBUGGER_SUPPORTED.
[runtime]Hide public fields and kill MONO_DEBUG_FORMAT_DEBUGGER.
[jit] Remove mono_debug_add_icall_wrapper as it doesn't do anything.
[runtime] Remove the old debugger interface.
SocketTest: added tests for multicast index handling for MulticastOption class and MulticastInterface socket option

This commit is under the MIT license.