Fix HTTP authentication support in the cp module

If you have a userinfo component in an RFC 3986 URI, the default
handling of the python urllibs is to complain about a non-numeric
port.

This fix handles the case where there is a userinfo component (e.g.
http://user:pass@server.name/path/to/file), parsing it out,
creating a basicauth handler, and passing url_open a url it can
understand.

FIXES Issue #5641
Merge pull request #6356 from kula/fix_5641

Fix HTTP authentication support in the cp module