Support UTF-8 query strings

I added a configuration option (because it's a potentially breaking change) to parse percent-encoded byte sequences in query strings using UTF-8 encoding (`Uri.UnescapeDataString`). Ideally, I would use `HttpUtility.UrlDecode(String, Encoding)` method to specify encoding, but it requires System.Web assembly which isn't available in the target framework (.NET 4.5 Client Profile).

In my second commit, I also added support for already parsed query strings (`IEnumerable<KeyValuePair<string, string>>`). They are especially useful for WebApi projects, where parsed query strings are available (`HttpRequestMessage.GetQueryNameValuePairs()`)