DRY things up
irc.Conn is a member of module.Module
Minor code cleanup
Log race condition
Fix improper exit when module.log tried to exit

module.log.exit() returns an error if it was blocked trying to exit
Pseudo enum constants
Use an instance of log.Log instead of the default
Remove logDir flag
Code cleanup
Generalize Register()
Small cleanup