BUGS
    possible problems with signals and system calls
    recognize doesn't op correctly if done privately (check the logs next time)
    v_thunder reports: autoload doesn't work
    UNICODE issues - google search on "profi"

TODO:
  REWRITE MAGIC
    permission_denied and command_not_found handlers should
      do nothing and NOT return "NO MORE" for private messages
    observe "ignore" on pubmsg/action
    write magic.__doc__

  FOR 0.1.0
    Tidy the syntax of: slashdot.notify, ...
    Finish messages
        
  HIGH PRIORITY
    write docs
    clean code
    improve module-reloading to have dependancies, etc.
    make inter-module access easier
    make send_pubmsg and send_notice (etc) events
    remove ircdb_file option

  MEDIUM PRIORITY
    make magic recognize actions (via ctcp)
    make magic respond to ".*, %B\?$" as a question (note: the comma is
        important to distinguish between talking TO the bot and ABOUT the
        bot - "shall we kill mybot?" vs. "shall we kill, mybot?")
    make magic.say take an optional "target" channel as first arg.  This
        would probably work like invite or op.  (discuss first)
    MAGIC: have .say (public) .tell (privmsg), .action (pubaction)
    MAGIC: implement .export and .import (of magic data), preferably
        in a human-readable and -editable format
    possibly add perms to some of these potentially annoying things, 
        perhaps creating a new perm specifically for magic
    make magic record unanswerable questions for later modification :)
    for magic, something like %n, but that EXCLUDES %N and %b
    think about filtering OTHER outgoing text... basically output filters
    add a clean/check nick function (to be used by set_nick, probably)
    make profile and other commands smart - fall back to nick
    change profile cperm to allow "profile self"
      (these last two may be incompatible for security reasons, unless
       profile handles perms internally or with a function cperm)
    better use of "unknown" perms
    DCC :)
    write irclib2 (both to clean up the irclib/m_irclib split and also
        to give a little back :) )

  LOW PRIORITY
    cleanup is not very tidy - socket removal, etc
    build process is a bit ugly (and repetitious) - tidy it up
    make stasher backup comparison more efficient
    strip out timers/handlers on module_unload (turns out this is hard)
    ACRO: add better db back in (changed format, harder to use?)

MODULE IDEAS
    friends (me)
    service - or unix, or something that provides "service"
