Fixed a potential issue whereby NPCs being held onto by a script would cause a crash when the AI server disconnects (because the data's freed) by making it atomically reference counted. SMDFile class is the same. Also, we now wait until scripts have finished executing before proceeding with shutting the server down (NPC container is using CSTLMap which forces a delete, so it's really quite hacky).
Merge pull request #63 from Eequalsmc2/master

Implementation of 18004_Kaisan.lua - 1st Job Change NPC.
Renamed the other User.cpp files as debugging files with the same base filename is a nightmare (thanks VS).
Merge branch 'master' of https://github.com/twostars/snoxd-koserver
Reimplemented NpcSay (CUser::SendSay()), added CUser::PromoteUserNovice() & CUser::PromoteUser(). The checks and such can go in the Lua scripts.
Fixes the compile error for Ebenezer in VS2010/Debug.
Implemented a rudimentary console input thread to handle command input. It really only needs revising to avoid stdout screwing with the display of text we're writing to stdin. Use /notice for notices, to avoid invalid commands being sent as text.
Implemented FormattedDebugString() to take over for printf() as our TRACE() call. No more spam on stdout; debug's right where it should be, in the output window (in VS).
More of 18004_Kaisan.lua script - The Script was working until I got carried away with myself... It seemed to stop functioning correctly about half way through transporting the script.