Poking Jenkins again...
ParseScheme now retrieves a lower case scheme.
ParseHost is now retrieving IPv6 addresses with the correct form.
With IriParsing the IPv6 is on the mixed form n:n:n:n:n:n:d.d.d.d
Without IriParsing the address is on the hexa-decimal form n:n:n:n:n:n:n:n
Fix several issues in System.Json

- Fix detection of extra characters in JSON input
- Fix detection of invalid negative numeric literals
- Disallow leading zeros
- Use "round-trip" format for floating point numbers
- Serialize NaN and Infinity as strings
- Use NumberFormatInfo.InvariantInfo for Convert.To*()
- Use standard number parsing methods in ReadNumericLiteral()
- Add test cases
ConnectCallback needs to call EndConnect

Socket.ConnectAsync uses BeginConnect, and ends here in
ConnectCallback. It needs to call EndConnect so any error can be
propagated up.

See Xamarin bug: https://bugzilla.xamarin.com/show_bug.cgi?id=21017
Move amd64 to use object offsets.
[delegate-trampoline] Fallback to slow path in case of failure to create fast path
[System] Fixed HttpWebRequest test that sometimes failed

The TestTimeoutPropertyWithServerThatDoesntExist test sometimes failed with a 'ConnectFailure' instead of a 'Timeout'.
As per the discussion in PR #1145, the test should actually check that a ConnectFailure is thrown before the timeout is reached.
This proved unreliable with the 10.128.200.100 IP address, as it was up to the networking stack to decide whether the endpoint can be reached,
which can take quite a long time (sometimes >100secs).

Instead, we now use the loopback address with a port where no service listens, which should be equivalent.

Additionally, the assert which checks for the correct exception switched the 'expected' and 'actual' parameter, which resulted in the wrong output, this is fixed as well.
[bcl] Increase some test timeouts to avoid failures when running with llvm.
[runtime] Explicit thread GC data around instead of relying on TLS storage. Fixes #20360.

Some systems do locking in their TLS implementation (yeah, super smart, I know).

Due to how we implement stop-the-world this can lead to deadlocks.
[runtime] Lock the root domain in mono_jit_info_add_aot_module () to simplify locking.
Merge pull request #1149 from akoeplinger/fix-httpwebreq-test

[System] Fixed HttpWebRequest test that sometimes failed
Updated IPv6 test to use the correct form.
With IriParsing the IPv6 is on the mixed form n:n:n:n:n:n:d.d.d.d
Without IriParsing the address is on the hexa-decimal form n:n:n:n:n:n:n:n
Added "" to reduceElements to test consecutive slashes.
Changed some paths to avoid id conflicts.
Changed reduce to keep consecutive slashes.
QueryEscape '%2f' unescaping with and without IriParsing.
With IriParsing '%2f' in a query is not unescaped by ToString while without IriParsing it is.
Fragment_Escape '#' escaping with and without IriParsing.
With IriParsing '#' in a fragment is not escaped in Uri.Fragment while without IriParsing it is.
LocalPath expected values are now generated for UNIX and MS-DOS.
Depending on the OS the directory separator may be different.
[runtime] Remove a duplicate switch case from configure.
[runtime] Remove another duplicate switch case from configure.