Changes to the boteco class, added a BotState class to keep track of bot state and placed internal bot commands in a separate class
The Boteco class parser is refactored in order to be cleaner. All internal bot commands (such as !join, !quit, etc) have been moved to a BotCommands class
There is a BotState class now that keeps track of the bot information and joined channels. The instance of this class is passed to all user implemented commands so one can use it for his modules