[translate] Reduce chances of mangle outputting non-English
[core] Allow splitting of messages per #245
[core] Add message splitting to say, issue #245
[docs] Document message splitting, issue #245
[help] Use the new message spliting feature in .commands

The command list is usually huge, so we should allow it to split
[core] Move WillieMemory to tools

This lets people use it in modules. Issue #294
[find, bugzilla, reddit, url, youtube] Use WillieMemory objects

Rather than dicts, for thread safety. Issue #294
[ip] Be more flexible with the GeoIP database location

Location is now configurable.
Lookup order is:
1. Configured location (if not None)
2. Bot's homedir
3. /usr/share/GeoIP
4. Download from the internet into bot's homedir

Downloading requires gzip support.

This fixes issue #291
[tools] Some new APIs in WillieMemory

Close issue #294

And we are ready for 4.0 release!
[youtube] Fix my stupid mistake in 30c4c25

Closes issue #295
[bot] Replace dumb try-excepts.

Related to issue #288.
[NEWS] update changelog for 4.0 release
[clock] Fix error when given user does not have timezone set

Was this not 3e24cb089e5b452ba827a27752e001ff8542a5a6? Because it sure seems like it...
[clock] Actually show the name of the person who's tz isn't known
[clock] Fix configured timezones not being used
Merge remote-tracking branch 'remotes/origin/master' into example_tests

Conflicts:
	willie/tools.py