Use Mono prefix for libMonoPosixHelper

The libMonoPosixHelper is installed together with Mono, hence its path
in the configuration should be relative to the Mono prefix.

It was previously assumed to reside in a system path, so the the
dynamic linker would find it anyway.

This patch is based on the one included in bug #18555 (by Gaëtan
Lehmann <gaetan.lehmann@gmail.com>), but it also updates
runtime/Makefile.am to keep runtime/etc/mono/config consistent.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=18555
Improve libgdiplus path handling

Since libgdiplus is not installed together with Mono, it should not be
assumed to be in the same prefix.

The new policy for the --with-libgdiplus configure option is the
following:

 - --with-libgdiplus=/absolute/path/to/libgdiplus.{so,dylib}

   both during build/check and after installation Mono will try to use
   the specified libgdiplus library; the rationale is that when an
   absolute path is given, it can be assumed to be the full path to
   the library that is already installed (possibly in a non-default
   path).

 - default, --with-libgdiplus=no, --with-libgdiplus=installed

   both during build/check and after installation Mono will try to use
   a system-wide libgdiplus library, that is assumed to reside in the
   paths that are automatically searched by the dynamic linker; the
   library is supposed to be already installed in the default path and
   to be useable both during the build and afterwards.

 - --with-libgdiplus=sibling, --with-libgdiplus=yes

   during build/check Mono will try to use the libgdiplus library that
   is assumed to be in the sibling folder (../libgdiplus), but after
   the installation it will try to use a system-wide libgdiplus
   library, that should be in the paths that are automatically
   searched by the dynamic linker; the assumption is that the library
   is not yet installed, but it will go to the default prefix after
   installing it.

 - --with-libgdiplus=../some/relative/path/to/libgdiplus.{so,dylib,la}

   during build/check Mono will try to use the specified libgdiplus
   library, but after the installation it will try to use a
   system-wide libgdiplus library, that should be in the paths that
   are automatically searched by the dynamic linker; the assumption is
   that the library is not yet installed, but it will go to the
   default prefix after installing it.
[delegate-trampoline] Fallback to slow path in case of failure to create fast path
[delegate-trampoline] Share DelegateTrampInfo with method-to-ir.c
[delegate-trampoline] Update invoke_impl and method_ptr cache value

With this patch, we see a 3x execution speed improvement in the following micro-benchmark :

using System;

class Foo {
	public int Test () { return 10; }
}

class Program {
	public static int Main (String[] args) {
		long n = 50000000;
		if (args.Length > 0)
			n = Math.Max (n, Int64.Parse (args [0]));

		var a = new Foo ();

		for (long i = 0; i < n; i++) {
			var f = new Func<int> (a.Test);
			if (f () != 10)
				return 1;
		}
		return 0;
	}
}
Added new mono_domain_set_config function; used to fix ConfigurationErrorsException in #10468.
This change is released under the MIT license.

https://bugzilla.xamarin.com/show_bug.cgi?id=10468
Corrected mono_domain_set_config description.
Fixed libmono MSVC compilation
[runtime] Fix a win32 build failure, more remains.
[runtime] Use pthread tls on mingw32, recent versions support __thread, but its emulated.
[runtime] Fix some win32 warnings.
[jit] Implement support for tls offsets >= 64 on win32.
[jit] Disable MONO_ARCH_ENABLE_MONO_LMF_VAR on win32, emit_push_lmf () uses a different method.
[jit] Enable support for tls offsets >= 64 on win32.
[runtime] Fix the --disable-boehm build on windows.
[bcl] Fix build dependencies for the corlib vts tests.
[jit] Remove an unneccesary line from the win32 tls_get implementation, it was setting SetLastError ().
Revert "[runtime] Fix a win32 build failure, more remains."

This reverts commit 5c90d7cdba4c82f2f4e2ae7a2af3c00ebb9029c5.

Revert this as it breaks the build.
[mcs] Wrap exceptions in async state machine with no resume points
[mcs] Arguments can be empty when reporting missing params argument. Fixes #21215