[seen, version, xkcd] Update to API 4.0, issue #276
[url] Update to 4.0 standards, fix .title
[search] Update to 4.0 standards, fix registration of last url
[oblique] Move module to -extras

The code is a mess, half of it doesn't work, half of what does work is
duplicated by other, better modules, and everything else is so confusing
to use that it's just not worth it.
[search] remove Bing support

It barely works: outputs unnecessarily long links which are never relevant to what you're looking for.
Also, nobody uses bing apart from Microsoft employees (and they only do so because company policy forces them to do so)
[units] Fix syntax error

Someone changed the conditions and forgot to test his code before committing
[seen] Fix import
[core] Properly handle unicode in bot.reply

The previous fix for this (ee1f30f) broke some modules.
This commit make sure we handle cases where string is already of type unicode
[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