Re-structured the Dtella SVN server with the standard trunk/, tags/, and branches/ folders.
Moving the docs/ folder I missed...
Updated the build scripts to allow a standalone .exe application to be created.
Fixed VIM tab problem
Added OS and version information to the DC tag.
Added OS information to the DC description.
Cleanup of TODO.
Changed encoding of version into tag [Dv:version(os)]
Updated dtella_local.py to dtella.org DNS.
More corrections to DC++ tag
Tweaked the Dtella/OS tag
Added a function to reverse-lookup IP addresses into hostnames, but it's not actually used anywhere yet.
Started revamping the bot/help system.
Changed DNS config address to purdue.config.dtella.org
More changes to bot/help system
Clean up kicking message
Add support for !REJOIN after a kick or collision
Combine the kick/collide states into a generic 'invisible' state.
When doing a shutdown(), make the DC client un-invisible.
- Cleaned up the UDP bind failure and blocked port error messages.
- Gave the word_wrap function a default width of 80.
- Stripped out the copy_status_to_pm code because it was really fugly, and the ability to talk to the bot from the main 
chat window now pretty much takes away any novelty it might have had.
Nodes can now determine their own location, based on a function in dtella_local.
The bridge now applies a reversible transformation to Dtella nicks which contain characters that don't work in IRC nicks.
IMHO, it's somewhat prettier than the old DCgate escape system.
Remove $ and | escape sequences from incoming DC private/public message text.
Added virtual nicks to the bridge
Changed tuple to list, to help prevent misconfiguration.
Added some rate limiting to public chat messages.