Fix for #1362.
`PreparedRequest.prepare_url` incorrectly applied IDNA encoding to the
URLs entire `netloc`. It should only be encoding the hostname portion
of the URL. IDNA encoding was limiting the user info, host, and port
segments to be a maximum of 63 characters which causes problems for
all by the most trivial user + password combinations.
- Replaced usage of `urlparse` in `PreparedRequest.prepare_url` with
`urllib3` equivalent.
- Modified IDNA encoding section so that it only encodes the host
portion of the URL.