*** Goals for v1.00 ***
  Have godlike features :)

*** Todo
  flood protection
  fix, various functions for it
  Create "The Design and Implementation of Prolix"
  Make log class work with multiple files
  fix up packet reference to modular list
  file downloading and storage system (for icons.bni, and etc)
  account creations, server going down disc
  (more specificly make auth thread really work :D)
  make the user database save
  fix compile issues on for solaris(sparc), do we need to
    use another variable then "log" ?
  are there latency issues in the network code ?
  fix tpying on network drop problems
  have samplebot maintain a user database
  have all the gtk icons loaded, rather then loading them for each
    time displayed.
  are there problems reconnecting on the server being shutdown ?
  lock thread for input getvalue thingy(tm)
  fix bug where you can't specify d2xp as the client
  fix gtk resizing
    1) small sizes
    2) name length scales
  add statusbar to the disp class
  gtk main menu
  find the autoscroll down upon a new message and turn it off
  get rid of some logging so we stop getting multigig logs
  Let's see if we can get darwin working in console mode.
  Abstract the displays to be modular ?
  ncurses - ctrl+u - erase to start of line (per ross's request :D)
  abstract the commands ie: /load /help /quit etc
  fix the 1 second lag thingy for ncurses(again) :D

  use the module class ?, right now /unload does not really
    unload so when reloading the same module, it must be renamed
    to avoid exiting.

v0.06
  * Added bind support (from peatgee)
  * Added STAR and SEXP support.
  * Did a bunch of icon updates for the gtk version.
  * Made cdkey and client so it "really works".
  * Added an "auto" for cdkey, works on the "merge/sherpya" version
    without a cdkey and hash files now.
  * Reconnecting seems to be fixed, added !reconnect to samplebot.
  * Fixed the problem where multiple hash files do not work properly.
    You can now connect with multiple different clients at once.
    Some point in the future the template needs to be added back in.
  * Added support for systems w/o ncurses color support. You will need
    to use: ./configure --force_noncursescolor -c
  * Abstracted the commands.
  * Default bot no longer rejoins on kick. (that should be up to the
    loaded bot module).

v0.04~5
  * Added commandline options to the ./configure script.
  * Did *lots* of gtk work.
  * Major overhaul on the display class setup.
  * Fixed ncurses so it updated the input when you hit enter.
  * Did *tons* of hash work, prolix now logs on to the "real"
    battle.net(tm). (with w2bn)
  * Various display cleanups.
  * Added "idle" support. (Ad requests & NULL packets)
  * Added join for full channels.
  * Got rid of the TODO, easier to keep track of it in the
    changelog.
  * Added graphics/icons, added/fixed the userlist(gtk).
  * Fixed an obscure timing bug in the auth thread.
  * Fixed config input so you could join a channelname
    with a space in it.
  * Fixed typing problems after loading/unloading a bot module.
  * Some systems do not have <poll.h>, but have <sys/poll.h>
    Do some systems have <poll.h>, but not <sys/poll.h>, if
    so we may need to add this to our configure script.
  * Tons of changes to attempt to get Prolix workin on Darwin :)
    Fixed various problems for systems without a signed char.
    Took out "dynamic loadable modules" for the Darwin release,
    we should add this back for the next release.
  * Hash files now really point correctly.
  * Closing the gtk window, now quits.
  * Removed the main menu for now.

v0.03
  * Fixed fault when a non-existant module is defined in the
    config file.
  * NCurses actualls handles the display in a different thread.
  * Multiline message display fixed, bad characters are now
    filtered, \n makes a new line.
  * Added psuedo configure script (./confgure)
  * Added W2BN support. Bnetd only, no hashes are handled.
    (bnetd skip's that packet all together) Tested with
    client W2BN under bnetd 0.4.19, 0.4.20, and 0.4.25pre4.
  * Does not work with 0.4.40sherpya, looks like they implemented
    the actual hashes there - bonus! :)
  * Account creation fixed for WC2
  * Prevent typing before connected fixed.
  * Added basis for the userdb, not implemented completly yet.
  * Display's an error message and exits if it can't find
    config.txt.
  * Added /info and /modules


v0.02
  * Moved "net" creation to config rather then within the bot itself, this
    allows for "hot swaping" the bot modules w/o having to disconnect.
  * Cleaned up the bot module to require less initial variables. Basic
    modules work now, only on creation, don't expect these to hotload/unload
    yet.
  * Fixed segfault on typing too long of a message in ncurses display mode.
  * Thread Signal Timing, LogThread fixed.
  * Put in the version on the display(ncurses)
  * Once in a blue moon resize(ncurses) will work now, there appears to be
    some latency and timing issues involved in this. I need a good way to
    find out what size the screen really is, and not just how big ncurses
    thinks it is.
  * Now catch segpipe. Prolix should not quit on a server shutdown.
  * Bot loading and unloading now works from commandline. 
    Examples:
      /load ./samplebot.so
      /unload
  * Bot version Display fixed.


v0.01
  * Bot connects, display works, input works, creates account if it does
    not exist, joins the homechannel.
