Very basic framework for features

Allows features to be defined in their own files (solving scope issues),
require'd, and used. All features must accept a client function, after which
point they can bind listeners to the node-irc client as you would normally.

This framework is nice because it is simple, and I think also easy for
beginners to work on (still looks like code from the node-irc docs). It has
some downsides, for example Features can't really be compared to each other or
removed.
Implement karma counting feature
Add "is the room open?" feature
Add help feature and advertise it on joining channel
Remove debugging output
Log errors from the node-irc client
Allow Room queries to be anywhere in a string to trigger a response
Respond to Room queries/commands with pm

This avoids cluttering the main chat with lots of these queries.