Fix List.Enumerator not being a struct
Stop using Debug.WriteLine because it !@%*(!@%*ing blocks for no reason

Conflicts:

	JSIL/Transforms/StaticAnalysis/EmulateStructAssignment.cs
Fix reference writes not cloning structs
Fix issue #466
Fix issue #395.
Fix BinaryTrees choking on new invocation ThisReference copy semantics
Correctness fixes
Remove implicit bool conversion
Added sorting in $BuildMethodGroups based on distance from type. Fix #368.
Possible fix for incorrect selecting method FastOverloadDispatch (#368)
Fix order of check this to skip adding MethodSignatures twice.
Reflection type Generic information properties fixed.

--HG--
extra : source : dea6ca7686321354bd500c63dde980da8f81cef9
extra : amend_source : df60b530b5990e7910208356f5770760d03f20e6
Make ReflectionTypeGenericInfo failures easier to understand in test runner.
Fixed problem with calling interface generic method with generic arguments #348. Test added.
Changed order of checks.
Fixed test path.
Split out issue from #479 from the rest of the ReflectionTypeGenericInfo test.
Added closed generic method info, implemented MakeGenericMethod. Added possiblity to Invoke closed generic through reflection. Test added.

--HG--
extra : source : e5a4c33dd8b62bb49cfde120631f7da1d3c85e8e
Overloaded method calls through signatures are almost as fast as normal method calls in Spidermonkey now, thanks to a simple inline cache.
Generate switch blocks instead of cascaded ifs for overload dispatchers.
Fix Int64.ToString and other overloads of ToString getting a .NET-style 'ToString' name instead of a JS-style 'toString', and add a test.