Implement the censor module

This is the new implementation of the former BADWORD command. The command has been changed to CENSOR to be more consistent with other IRCd implementations and it is now enforced in the form of a channel mode (+G).
If you're going to do this, can't you return `self.badwords` (or, if it needs to be copied, just use `copy(self.badwords)`)?