Added missing awaits to StreamWriter
[HttpWebRequest] Avoid using the threadpool for synchronous requests

The code path for synchronous requests was the same as the one for
asynchronous ones: the threadpool. It's actually not needed in this
case because the thread is going to wait anyway, so there's no need
to use the threadpool.

This helps in scenarios in which SOA is heavily used:
- The process is hosted under xsp/mono-fastcgi/... which use the threadpool
too.
- If the requests generate other requests to other REST services, the
usage of the threadpool in these cases may interfere with the usage of
the threadpool by xsp/mono-fastcgi/...
- The thread that is serving a request shouldn't request another thread
for a blocking operation, preventing the use of that thread by other
possible incoming requests.

This commit is contributed under the terms of MIT/X11 licence.

(It doesn't cause any breakage in the System test suite.)
When encoding a memberref to a field of a generic instance we must use the type of the GTD. Fixes #10122

	* reflection.c (mono_image_get_fieldref_token): We must encode the memberref using the GTD type so
	we can distinguish between the following two:

		class Foo<T> {
			T t;
			int t;
		}

	The above two fields for the instance Foo<int> must be encoded as "!0 Foo<int>:t" and "int Foo<int>:t"
	respectively. The CLR does both structural and nominal matching on memberref resolution, so we must be
	strict.

	The previous fix removed tried to work-around a crash in the generic instance case due to the field
	type been null. This now happens because field types are lazily loaded and must always be looked up
	using mono_field_get_type. The original code code was not and so broken.
Add a test case for #10122.
bump rx repo (mostly for mobiles)
bump rx to official 2.1 release.
fix mobile build (from 6b4c3f0).
Merge pull request #544 from svick/missing-awaits

Added missing awaits to StreamWriter
Improved warning reporting for missing await
fix bug #6653: change xs component validation logic regarding recursion check.

Originally this implementation checked recursion based on RELAX NG-inspired
algorithm explained at http://www.thaiopensource.com/relaxng/simplify.html.

This works only for "simple" syntax, which premises that every <element> is
defined under top-level <define> element. XML Schema doesn't follow this
and could result in infinite loop like reported.

The latest REC-xmlschema-1 denotes the explicit rule on illegal recursion
on 3.8.6 (Model Group Correct) as:

2 Circular groups are disallowed. That is, within the {particles} of a group there must not be at any depth a particle whose {term} is the group itself.

... so, I simply replaced the checker with simple Stack.

(oh, and for old Stack I haven't bothered to replace non-generic collection
everywhere. XSD is as dead as System.Collection.)
Fix thread stack initialization on BSD platforms.
[WebConnection] Use just one delegate to init the connection

As suggested by Marek Safar, using WaitCallback without the threadpool
is just fine, so revert back to using one delegate.
Merge pull request #550 from knocte/master

[HttpWebRequest] Avoid using the threadpool for synchronous requests
Fix type inference for methodgroup arguments where one of methodgroup delegate parameter is generic type with dependant type parameter.
Add test which is now working
Merge pull request #551 from jack-pappas/sgen-patch

Fix thread stack initialization on BSD platforms.
Add explicit interface GetType implementation to avoid object::GetType become proxy. Fixes #10148