[HttpWebRequest] Add timeout tests that cover BNC#317553 (ximian #74177)

The pull-request that was merged [1] intending to fix BXC#1183 [2] was
later reverted [3] because it broke a scenario that wasn't covered by tests.

This commits creates a couple of tests that cover this scenario (which was
implemented back in 2005 [4]) so that we are sure that any further proposed
fixes for bug 1183 [2] don't cause any regression in this area.

[1] https://github.com/mono/mono/commit/8c2167d52cb9acf9582647ebb5f99c92d9127fbd
[2] https://bugzilla.xamarin.com/show_bug.cgi?id=11833
[3] https://github.com/mono/mono/commit/14f0405443693ec2586e73e4b3746134046210d5
[4] https://bugzilla.novell.com/show_bug.cgi?id=317553
Add a freelist around the code chunk allocator to avoid mmap failures when a lot of appdomains are created and destroyed. Hopefully fixes #3311.
Merge pull request #617 from knocte/httpwebrequest_playground

[HttpWebRequest] Add timeout tests that cover BNC#317553 (ximian#74177)
Support a MONO_ARCH_NEED_THREAD_LOCAL_INIT variable.

Setting this on an architecture makes Mini call the
mono_arch_finish_init () on every thread instead of during
mini_init () execution.

This is primarily useful for architectures that have not
had their LMF code ported to the new infrastructure due to
a general lack of maintenance or hardware to do it on.