Add UriUtility class

The `HttpUtility.UrlEncode` method did not account for the differing requirements of various sections of URIs. This change adds a `UriUtility` class that meets the needs of a much wider audience.