Fix race condition in WebConnectionStream

See https://bugzilla.xamarin.com/show_bug.cgi?id=1553
TimeSpan.TryParseExact should not try to parse null input.

TimeSpan.TryParseExact would previously throw a NullReferenceException constructing the Parser when it accesses the Length property of the input string. Microsoft's implementation returns false when null is passed as the input string to parse.
Merge pull request #653 from LogosBible/TimeSpan-TryParseExact

TimeSpan.TryParseExact should not try to parse null input.
[corlib] Don't throw UnauthorizedAccessException from Path.GetTempFileName

The problem is sporadic mdoc test failures on Wrench/OS X:

	Updating: Mono.DocTest.Widget/NestedClass/Double/Triple/Quadruple
	mdoc: System.UnauthorizedAccessException: Access to the path '/var/folders/_g/y9v720_90l914yylrk7m903c0000gn/T/tmp20f71445.tmp' is denied.
	  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
	  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,bool,System.IO.FileOptions)
	  at System.IO.Path.GetTempFileName () [0x00000] in <filename unknown>:0
	  at Mono.Documentation.MdocFile.UpdateFile (System.String file, System.Action`1 creator) [0x00000] in <filename unknown>:0
	  at Mono.Documentation.MDocUpdater.WriteFile (System.String filename, FileMode mode, System.Action`1 action) [0x00000] in <filename unknown>:0
	  at Mono.Documentation.MDocUpdater.DoUpdateType2 (System.String message, System.Xml.XmlDocument basefile, Mono.Cecil.TypeDefinition type, System.String output, Boolean insertSince) [0x00000] in <filename unknown>:0
	  at Mono.Documentation.MDocUpdater.DoUpdateType (Mono.Cecil.TypeDefinition type, System.String basepath, System.String dest) [0x00000] in <filename unknown>:0
	  at Mono.Documentation.MDocUpdater.DoUpdateAssembly (Mono.Cecil.AssemblyDefinition assembly, System.Xml.XmlElement index_types, System.String source, System.String dest, System.Collections.Generic.HashSet`1 goodfiles) [0x00000] in <filename unknown>:0
	  at Mono.Documentation.MDocUpdater.DoUpdateAssemblies (System.String source, System.String dest) [0x00000] in <filename unknown>:0
	  at Mono.Documentation.MDocUpdater.Run (IEnumerable`1 args) [0x00000] in <filename unknown>:0
	  at Mono.Documentation.MDoc.Run (System.String[] args) [0x00000] in <filename unknown>:0
	  at Mono.Documentation.MDoc.Main (System.String[] args) [0x00000] in <filename unknown>:0

I'm not sure why we're getting UnauthorizedAccessException exceptions,
nor do I particularly care; Path.GetTempFileName() should not be
throwing UnauthorizedAccessException; only IOException is documented:

	http://msdn.microsoft.com/en-us/library/system.io.path.gettempfilename.aspx

Update behavior to skip files that generate
UnauthorizedAccessException, and if we swallow short.MaxValue
exceptions wrap the UnauthorizedAccessException in an IOException so
that we conform to documented exceptional behavior.
Implement MethodMirror.MakeGenericMethod ().
Re-enable a test for the MOBILE profile (by ensuring the required method is not removed by the linker)
[PCL]: Set Facade Assemblies' version number to "4.0.0.0".
[ios] Remove the need to use reflection to call the StartWWAN method (by moving it into libmonotouch)
Fix a loader leak in mono_class_create_from_typedef.
Make sure the behavior between GetFiles and EnumerateFiles are the same regarding symlinks. Fixes BXC #12461

	* Directory.cs: Only ignore symlinks when traversing subdirectories. This is the only case that it can result
	in loops.
[System.Core] Add AesCryptoServiceProvider to the MONODROID profile.

Context: System.Security.Cryptography/AesCryptoServiceProvider.cs

Add System.Security.Cryptography.AesCryptoServiceProvider to the
MONODROID profile.

This is needed so that Aes.Create() can work.
Fix 2.0 build.
Add monotouch_corlib.dll.sources (to simply include corlib.dll.sources) since library.make change it's processing with its presence
Exclude the new System.IO.Directory unit test for iOS (no Mono.Unix)
Build System.Net on mobile (type-forwarders for PCL).
[monodoc] Fix ecma traversal with unattached tree.

Previously the code expected to stop at upper level node using the fact that their element starts with `root:/'. This element is attributed by RootNode when loading a complete tree. However tool like mdoc also loads tree unattached which doesn't create a standard `root:/` top-level root node hence causing the issue.
[monodoc] Ditto for fetching type node parents of subnodes.
Detach the current thread as soon as possible when mono_gc_pthread_exit is called.

	* sgen-gc.c (mono_gc_pthread_exit): Given the current thread is doomed, explicitly
	detach before calling pthread_exit and thus reducing the chance of TLS cleanup issues.
Kill unused func mono_threads_is_shutting_down.
Don't set shutting_down here as it is now done much earlier in the shutdown sequence.