[core] Encode the log with UTF-8 (and also use "with-as").
[weather] Add humidity data after temperature

patch adds humidity data to weather output.
sample output:
`Yahoo! Weather - Newton, MA: Mostly Cloudy, 31°C (87°F) - 55%, 29in (1008mb), Moderate breeze 6.3m/s (↓)`
[weather] Remove pressure and label humidity
[weather] capitalize humidity in output
Fix AttributeError in URL exclusion handler

After a reload, the setup() for the URL module erroneously used append() instead of extend(), leading there to be a nested list inside of the exclusion regex list, which caused an AttributeError when the exclusion code attempted to call .search() on the elements of the list.
Add backports and deprecation messages
[db] Fix build issues
[tools] Support using ^ for pow operation

Willie's target auidence shouldn't be forced to learn python syntax just to
calculate stuff.
Return after telling the user to pick a time format.
[Translate]Fix broken test.
[main] Add a --version switch

We should have done this ages ago.

Fixes issue #660
[main] Safer handling of corrupt PID files

If the PID file contains something we can't parse as int, assume willie
is not running.

This should fix issue #659
Merge pull request #588 from xZise/utf8-log

Encode the log with UTF-8 (and also use "with-as");
[tools] Safer handling of various encodings in OutputRedirect

This commit makes sure that no print would fail due to invalid encoding.

We try to encode anything to unicode before outputting to the log file,
and replace it with an escaped sequence on encoding/decoding errors.
Merge pull request #665 from maxpowa/patch-1

Return after telling the user to pick a time format.
Merge pull request #655 from calzoneman/master

Fix AttributeError in URL exclusion handler
Merge branch 'patch-2' of https://github.com/firerogue/willie into firerogue-patch-2
Merge branch 'firerogue-patch-2'

Long overdue.
[weather] Ugly workaround for feedparser unicode bug on Python 3

Unicode is hard, even for developers of widely used libraries like feedparser.
In 2012, someone reported to them it's broken on Python 3.

They fixed it quickly, but it's 2014, and there's no release on the horizon.
That means that while the fix is in their VCS, users won't have a fixed version
anytime soon... That calls for an ugly workaround!

By making feedparser believe it doesn't have chardect available, we skip the
code branch that uses str() incorrectly. This might lead to unexpected results
if Yahoo! ever do something stupid with the encoding of their feed.
I trust them to not do that.

There's no version check to apply the workaround only to affected versions
of feedparser because it's fucking 01:13 in the morning and I need to sleep.

https://code.google.com/p/feedparser/issues/detail?id=384
[web] Add a comment

Announce to the world that yes, I know, I made a very stupid API decision
that I regret. Everyone does these, right?

Hopefully we can fix it for 5.0