allow unicode characters in proxy username / password

Addressing:
$ yum makecache
Loaded plugins: rhnplugin, security
Options Error: 'ascii' codec can't encode character u'\u017e' in
position 0: ordinal not in range(128)
1115527 - encode proxy url when passing it to urlgrabber

Addressing the following traceback occuring when attempting
to communicate over a squid proxy:

Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 285, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 219, in main
    return_code = base.doTransaction()
  File "/usr/share/yum-cli/cli.py", line 498, in doTransaction
    problems = self.downloadPkgs(downloadpkgs,
callback_total=self.download_callback_total_cb)
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 2061, in
downloadPkgs
    cache=po.repo.http_caching != 'none',
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 858, in
getPackage
    size=package.size,
  File "/usr/share/yum-plugins/rhnplugin.py", line 387, in _getFile
    start, end, copy_local, checkfunc, text, reget, cache, size)
  File "/usr/share/yum-plugins/rhnplugin.py", line 489, in
_noExceptionWrappingGet
    size = size
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line
985, in urlgrab
    return self._retry(opts, retryfunc, url, filename)
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line
886, in _retry
    r = apply(func, (opts,) + args, {})
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line
971, in retryfunc
    fo = PyCurlFileObject(url, filename, opts)
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line
1066, in __init__
    self._do_open()
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line
1359, in _do_open
    self._set_opts()
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line
1245, in _set_opts
    self.curl_obj.setopt(pycurl.PROXY, proxy)
TypeError: invalid arguments to setopt