Massive refactoring of Url, QueryString, and Request for RFC3986

TODO: ArrayCookieJar & tests are failing