Adds the tell plugin with very basic functionality.
Adds a theoretical function to send messages to a user when they join.
Fixes the bugs in the untested stuff previously commited and adds a
printmsgs command for testing
Merge remote-tracking branch 'upstream/master'
Updates tell plugin to use the new stuff for hooks and commands
Changes tell.py to add some debugging stuff for the hook that should run
on user join
Adds hook to core.py
Fixes up tell.py so it uses the userJoined hook to react to users
joining the channel.

TODO: it needs to send users the saved messages when they join somehow.
Fixes the userJoined hook so the basic features of the tell plugin are
now all working
Fixes Haegin/cs-bot-1 issue #1, messages are not removed once delivered.
Switches the tell plugin to work from a mongo db so we can restart the
plugin without forgetting undelivired messages
Changes all plugins to have a default db with a name based on the plugin
and updates the tell plugin to work from this.
Removes requirements.txt because I'm stupid and didn't see the already
existing pip-requirements.txt
Removes the keyval.cfg to make Alan happy
Added pymongo to requirements

Note that the bot will not start without a running mongodb instance now.
WIP: restructuring Bot to be independent of BotProtocol
pep8 fixes
WIP: use Event class for all events, proxy events to Bot and hooks
Rearranged code into multiple files
Some documentation work
Updated csbot.cfg with new options
Writing some documentation