Add partial sharing support to AOT.
Shorten some gshared function names.
Disable the gsharedvt optimizatiom in AOT if it is not supported by the platform.
Enable partial generic sharing by default.
Make sure we can properly suspend the main thread on Android. Fixes #12112.

	* sgen-os-posix.c (sgen_thread_handshake): Never never never never never
	use pthread_kill on Android as it doesn't work with the main thread.

	This resulted in all sorts of fringe crashes in #12112.
Make sure we release memory for the runtime generated backtraces.
add System.Net.Http.Formatting to monodroid build

 - changed the Create method with FileOptions to not depend on FileSecurity
   to avoid dragging System.Security assembly in monodroid build as well
Avoid calling TripleDES.Create(string), which calls CryptoConfig, when possible (e.g. from the default .ctor) since it makes linked applications smaller
Do not require an exception to detect if SHA1 is used.
For HMAC avoid using the hash names to create instances (since it bring CryptoConfig) when under FULL_AOT_RUNTIME. Also simplify the 'legacy' support for 384/512
If the TP monitor thread is signaled, bound the number of spins when sleeping. Workaround for #8186.