This is a resend of the patch. Changes include:
- Requireing and using python-urlgrabber instead of urllib
- Allowing for file:// based urls.
- Any string which starts with http://, ftp://, or file:// is assumed valid and will be
caught during parsing.
- Rebased with latest upstream changes.