[remind] Filter empty strings from the message

This fixes a problem with the .in command where not all of the arguments for the
duration get applied.
[youtube] Don't change space to +, it's the wrong way to quote the query
[core] Fix regression that caused bind_host to no longer work

Fixes #541
Regression introduced in c09449f2 due to a typo.
[rss] Disable malformed XML check

This should fix #449
Update NEWS in preperation for 4.4.1
Release version 4.4.1
[__init__] Add -git to version number
[config] Import willie.bot to make ./wille.py --configure-modules work

I don't know why it fixes things, but it does.

Fixes #545
[core] Allow setting attributes to the bot via WillieWrapper

Most people don't realise the wrapper exists, so they think they could
modify bot attributes from module context. Until now, they couldn't.

The startup routine in coretasks set bot.connection_registered. Without this
commit, setting bot attributes in module context would only set them on
the ephemeral wrapper. This behaviour caused startup() in coretasks to repeat
twice, once for 001 RPL_WELCOME and once for 251 RPL_LUSERCLIENT.
With this commit, startup() is only called once.
Don't keep timeout check and ping threads running after disconnection

When the connection closes, willie.run waits config.core.delay seconds and
starts a new bot. The previous bot, however, is still alive because of the
timeout check and ping threads, and after config.core.timeout seconds, the
timeout check thread triggers a shutdown that already happened, which can
have bad side effects on modules.

New connections will start their own threads anyways.

Fixes #547
Merge pull request #549 from glandium/master

Don't keep timeout check and ping threads running after disconnection
[willie.service] Fix bad PIDFile, unneeded ExecStop
Use input in place of raw_input for python3+

Since the raw_input() function  has been renamed to input in python 3,
we replace it by input() in case willie is run from python3+
Merge pull request #555 from vaz-ar/master

Fix configuration with python 3
[calc] Add guards to pow and mul functions to avoid hangs.

- Fixes #538.

- Removed the drivel from calc when exceptions are raised. Printing the actual
  error might not be pretty, but at least it's not completely useless.
Add code for #564 as a new branch
Fix for #560
[calc] Add timeouts and better formatting to calc.

- Added default timeout of 5s to expression evaluator, that will throw
  an error before evaluating the next statement if the timeout has passed.
  This should stop an expression consisting of several long running
  statements from taking too long.

- Calc now uses general number formatting from str.format to print the
  number according to it's magnitude.

- Fixes bug in Python 2 from #538, where long ints are let through by using
  abstract base class numbers.Integral.
Merge pull request #565 from phantium/ticket564

[adminchannel]Check for channel (half-)operator before action
[translate] Fix bug with the $nickname: "foo"? form