Feature/mono relative constructor

Fixes #27

Where `new Uri("http://localhost", "?myquerystring")` would cause `ToString()` to return `http://localhost?myquerystring instead of `http://localhost/?myquerystring".

It also fixes `new Uri("http://localhost").AbsolutePath` returning an empty string on Mono whereas in .NET it'll return `/` which is also what unpurified `Uri`'s will return in both Mono as well as .NET.