[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;
	}
}
Merge pull request #1150 from ludovic-henry/pr17c-delegate-trampoline

[delegate] Improve trampoline caching