[admin] Cleanup: Change attribute names from "willie" to "bot".
[admin] Cleanup: Callables attributes changed to decorators.

Buggy regexes changed to less restrictive commands. They will accept some
things that were not accepted before, but the end result is same, as server
will ignore wrong commands.
 -Join now also accepts channels not starting with #.
 -Mode now accepts modes not starting with +, - or \ (accept \ was a bug).
[admin] Cleanup: readability fixes.
[admin] Add new commands set and save.
[irc] Fix PART message being sent in wrong format.
[admin] Fix handling of part messages.
[contrib] fix "Executable path is not absolute" when stopping the willie service
[core] Eliminate useless error message when the bot quits
[url] Fix error on Unicode pages
[web] Fix ability to pass custom headers

Also make the default user agent say Willie, not Jenni
[url] Respect page's reported encoding, otherwise try UTF-8

Also, fail silently if the above don't work.
[core,url] Fix error where title was not shown for wikipedia pages

Also remove cruft from web.py, urllib knows how to handle redirects itself
[web] remove useless code
[web] remove another useless line, add comment

Sorry for multiple commits
[url] Handle when a page does not specify its encoding
[url] Handle when page doesn't give Content-Type at all
[url,web] Only preform one request for each URL

Doing both GET and HEAD is silly.
This commit changes web.get a bit, to allow it to return headers if needed.
Also, remove Accept-Charset because this seems to break certain misconfigured webservers
[calc, bugzilla, radio] Update to 4.0 standards, issue #276
[admin] Add examples, error messages and handling of passwords to set.
Merge remote-tracking branch 'remotes/upstream/master' into config-set