Add support for value types to mono_object_to_string

The current mono_object_to_string implementation does not support value types. This patch adds support by unboxing value types prior to calling mono_runtime_invoke.
Fixed xamarin bug #13708: routing constraints should be trated as 'convertible to string' in order to be compat with MS.NET
[ThreadPool] Allow heavier initialization when using --server flag

Create on demand up to min_threads to avoid startup penalty, avoiding
throttling of threadpool worker thread creation (for now, using
a --server flag) at initialization.

When throttling happens, operations such as parallel https requests were
slowed down significantly due to all of the threads created in order
to complete the SSL operations.

Based on @kamalaboulhosn's patch (https://github.com/mono/mono/pull/640/files)
Boilerplate implementation of Charting

Implemented enough of
System.Windows.Forms.DataVisualization.Charting to get two pieces of
software to compile: the charting examples from MSDN and the windows OSS
EVEMon.

This patch contains the majority of properties defined, and many methods
stubbed - I have avoided implementing any functionality in this patch.

All this work is under the MIT Licence.
fix up some properties per mono coding guidelines
Merge pull request #708 from spicypixel/hotfix/mono-object-to-string

Add support for value types to mono_object_to_string
fix properties per mono guidelines
[aot] Align the static linking symbol.
[linker] Small string optimizations to avoid culture aware code paths
[linker] Add AssemblyAction.Save to enable the linker to re-write an assembly without actually linking it. Useful to remove references to PCL assemblies that are not really used (e.g. when only type forwarders are needed) [#13488]
[System.Core/Android] Android's libc.so doesn't export getpagesize()

Partially fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=12739

Android's libc.so doesn't export getpagesize(3), resulting in an
EntryPointNotFoundException:

	System.EntryPointNotFoundException: getpagesize
	  at (wrapper managed-to-native) System.IO.MemoryMappedFiles.MemoryMapImpl.getpagesize ()
	  at System.IO.MemoryMappedFiles.MemoryMapImpl.Map (int,long,long&,System.IO.MemoryMappedFiles.MemoryMappedFileAccess,intptr&,int&)
	  at System.IO.MemoryMappedFiles.MemoryMappedViewAccessor.Create (long,long,System.IO.MemoryMappedFiles.MemoryMappedFileAccess)
	  at System.IO.MemoryMappedFiles.MemoryMappedViewAccessor..ctor (int,long,long,System.IO.MemoryMappedFiles.MemoryMappedFileAccess)
	  at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateViewAccessor (long,long,System.IO.MemoryMappedFiles.MemoryMappedFileAccess)

Android does provide getpagesize(3); it's just an inline function.

The full fix will require two parts:

 1. Update MemoryMapImpl to P/Invoke
    libmonodroid.so!monodroid_getpagesize()
 2. Add a libmonodroid.so!monodroid_getpagesize() export.

This commit implements (1).
[sgen] Disable freeing of OS memory on win32, it causes asserts because VirtualFree () fails.
Only build mscorlib in the monotouch_runtime profile.
[msvc] Avoid linking against libgc in the sgen configurations.
Fix warnings.
[msvc] Implement MONO_CONTEXT_GET_CURRENT () on the msvc build.
Fix 5d37fac7c8765253a2ae406329ebf360c8429387 yet again.
Revert "Fix a test to work on mobile after the async release."

This reverts commit b22667cd23c64afebbc947978b79cb91ec50370d.

It was a build bug in monotouch, not a buggy test.
Fixed some compiler warnings
Fixed eglib compiler warnings about g_string_truncate() and g_iconv()