Added test that covers bug 18482.
Fixed bug 18482. Reseting all private key values to null is required because a new import may not overwrite existing values.
Test that DeflateStream.Read does read an empty stream. Covers #19313.
Removed DeflateStream.UnmanagedRead Read loop. Fixes #19313.
If the base_stream was a NetworkStream UnmanagedRead loop would call base_stream.Read a second time and block until one byte was available to return. Without the loop UnmanagedRead will only read the base_stream once.
Fixed NullReferenceExcepton in Socket.Connect for non-IP endpoints

Socket.Connect(EndPoint) throws a NullReferenceException when connecting to non-IP (eg Unix) endpoints in Dgram mode.
Added fix for Bug 20869
[system.data] BUGFIX: fixes issue with expression columns and IsNull:
 - bugzilla.xamarin.com issue 20925
 - if an expression column was added ayer there were rows, and then IsNull is called, the result is incorrect (it will always be true)
[system.data] Appended the fix to correct the whitespace Expression and argument checking
 - Whitespace Espressions:
 -- if a column expression is a pure whitespace, use an empty string instead
 -- if a column expression is surrounded by whitespace, preserve whitespace
 -- if a column expression is null/empty, use an empty string
 - Get a row's column value:
 -- make sure we throw exceptions if the column we are looking at is null
 -- make sure we throw exceptions if we can't find the column with the provided name
Added UriScheme name.
Added UriSchemeTelnet, UriSchemeLdap, UriSchemeUuid.
Added property IriParsing and field s_IriParsing.
The property IriParsing will be used to change between .NET 4.5 and .NET 4.0 default percentage encoding/decoding behavior.
A private field named s_IriParsing same as .NET was also added so it can be changed the same way through reflection in .NET and Mono.
Changed method HexUnescapeMultiByte to internal.
Created file UriHelper.cs.
UriHelper has the method Format that escapes or unescapes a string's characters depending on the Scheme, UriKind, UriComponent and UriFormat.
Changed UriElements query and fragment default values to null.
Default values are now null so UriParser.GetComponents can return an empty query or fragment..
Replaced UriParser.Format with UriHelper.Format.
UriParser.Format was deleted and UriParser.GetComponents is now using UriHelper.Format.
Changed ParsePath to only break on '?' if scheme supports queries.
Changed Uri.SupportsQuery to use UriHelper.SupportsQuery.
Improved UriHelper.Format '%' handling.
When a % was found HexUnescapeMultiByte output was always considered escaped.
Now a % that is not a percentage encoded character will be processed has a not escaped character.
[mcs] Emit correct token for inherited nested non-generic types from unbound types
[mcs] Emit valid code for exception filter using constrained type parameter
Added UriPermutationsTest.
Created a new set of tests that create&store or that load&assert uri permutations.
Uris are created with permutations of schemes, components, characters then methods and properties output is asserted against expected values obtained on .NET.