Fixing inconsistency in XmlSchemaValidatingReader between Mono and MS.NET

While working on getting EF6 code-first to work on Mono, I discovered an inconsistency in how Mono handles an invalid (i.e. non-absolute) baseUri parameter passed to XmlReader.Create() when using schema validation compared to .NET.

Logically, I would expect that an invalid Uri would throw an exception, but .NET doesn't do it (though there's very little documentation on MSDN what the correct behavior is).
This PR fixes the inconsistency, however I'm not 100% sure this is the correct approach. Any feedback would be greatly appreciated.

Changes released under MIT/X11.

Note: I've opened a bug on EF, so they stop passing an invalid baseUri to XmlReader: [EF#1632](https://entityframework.codeplex.com/workitem/1632)