added the possibility to run commands on events other than user sent commands

* email_alert (thanks to Chris Higgins) is one example of such command that
sends an email to the owner when someone talks to him
* though this opens a whole lot of other issues such as blocking commands and the
 extensibility of the bot