[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.
[core] Encode the log with UTF-8 (and also use "with-as").
This change makes ".xkcd" module more robust:

- don't allow negative numbers which accesses a comic number lower than 0
- don't allow the 0th comic when randomly checked
- allow also a "+" and "#" as a sign
- don't show an error when accessing #404
- don't show an error when no search.google_search() returned None
[core] Make message splitting work with unicode strings too
[rss] Remove annoying, useless warning when you have no RSS feeds configured
add astronomical units, and define mile more precise
Merge pull request #591 from warddr/astronomic

add astronomical units, and define mile more precise
multi-line help

	.help will now display multi-line docstrings as several
	messages, one for each line, instead of concatenating them into
	a single long one.
	Those that consist of more than a certain number of lines
	(including the example for commands that have one) will be
	PRIVMSG'd to the asker instead of being posted into a channel.
	This number (3 by default) is configurable via the [help]/threshold attribute.
De-globalized threshold variable
Merge pull request #590 from flashcactus/help_fix

[help][core] Multi-line help
pyenchant is now in pip, the refered bug report has been closed
[calc] Add tests for potential problems with the calc module.

- Added as a separate commit to confirm that the problem with .c 0.9*10
  exists and is fixed.
[calc] Fix .calc for expressions where left operand is float.

- Typo in the if-expression caused the fact that input operands are not int
  to be ignored.
[calc] Fix left operand being float for pow expressions.
[web] Fix entity() under Python 3
[web, url] Better IDN support

* Move IDN helper methods to willie.web for easier access from modules
* Make willie.web methods IDN aware
* Python 3 fixes for the IDN support
[core] Workaround bot.connecting missing in python 2.7.3 or older

See issue #559
If this commit helps you then you REALLY need to update your python
install to something newer, for bugfixes and security fixes.
[web] Quote query before doing IDN stuff

This will prevent IDN functions from messing up queries with non-ascii characters
[formatting] Add tools to simplify IRC formatting
[reddit] Stop showing absolute vote counts

Also move to our new formatting API.