[etymology] Catch an unhandled exception

* Catch an unhandlel exception if the user doesn't provide any input
[wikipedia] Check if user provided valid input

* Check if the user provided any input
* Clear trailing whitespace
[meetbot] Catch an unhandled exception

* Check if meeting is running in listactions
[units] Catch unhanlded exception if no user input

* Catch two unhandled exceptions in distance and temp if the user
specified no input.
Merge pull request #484 from Erethon/master

[modules] Catch unhandled exceptions in multiple modules
Merge pull request #485 from singingwolfboy/badges

Add Travis and Coveralls badges to README
[rand] Re-enable disabled unit tests.
[ip] Add a unit test.

- Also add homedir attribute to MockWillie.config because it's required by ip.
[movie] Add unit tests.
[test_tools] Add debug attribute to MockWillie.

Ip module uses this and fails if it doesn't exist.
[core] Add ability for example-decorator tot take a list as results.

When multiple lines of responses are expected, they are given as a list to
test_tools.
[test_tools] Add capability to ignore lines of output.

Ip module outputs a notification if it's downloading the location database.
The best way to handle such notifications is to ignore them completely so
I added a way to do that.
[ip] Fix unit test to handle downloading database notification.

If the database isn't already downloaded there is an additional notification
which should be ignored.
[test_tools] Make a home dir for willie if the default one doesn't exist.

It looks like a unit test for ip fails because it tries to download the
location database into a directory that doesn't exist.
[test_tools] Fix incompatibility with Python 3.

In Python 3 filter of course returns a generator.
Added chanlogs module
Reduce code duplication for chanlogs
Mark chanlogs rules as unblockable
Lock log files before appending, to avoid race condition
Only log user quit messages to the channels that the user was present in