Fancy password protected feed detection/support (bug 225)
cache.py: Make the fetch function aware of 401 errors as well as a channel's
username and password attributes. The function will create the
appropriate url if it needs to.
gui.py: Add a new dialog to handle username and password input.
Modify add_new_channel to be aware of 401 errors generated by a
podcastChannel's load() function. This means that the user no longer
needs to enter a funky-looking url to get password-protected feeds to
work. If a feed requires authentication, the user will be prompted.
Fix a bug where the "add podcast url" entry wasn't reset after adding
a feed that looked like a web page.
libpodcasts.py: Make podcastChannel.load() throw a HTTPAuthError exception
if a 401 error occurs when downloadind the feed.