Don't UTF8-encode URLs twice

URIs are not supposed to contain non US-ASCII characters. Despite that, ```parseUrl``` expects a ```String``` as its input and therefore it could be supplied such a URI. Browsers also face the same challenge; a user can always type such a URI in the location bar. The way modern browsers deal with that issue is by percent-escaping the utf-8 representation of the URI. This way, if the user types any of the following 2 URIs

    http://example.com/π
    http://example.com/%CF%80

(notice the use of the greek letter pi) the browser will send same request, namely:

    GET /%CE%B1 HTTP/1.1

http-conduit on the other hand, will only send that request for the second URI. The first URI will result in the following request

    GET /%C3%8F%C2%80 HTTP/1.1

i.e. the letter pi will be UTF8-encoded twice. This is because of line 71 in Network/HTTP/Conduit/Request.hs:

        encode = escapeURIString isAllowedInURI . encodeString

The ```encodeString``` in the end is redundant; ```escapeURIString``` will take care of the non US-ASCII characters anyway [1]. I propose to change the above line to

        encode = escapeURIString isAllowedInURI

I have tested this change and it makes http-conduit behave the same way as modern browsers.

[1] http://hackage.haskell.org/packages/archive/network/latest/doc/html/src/Network-URI.html#escapeURIChar