kChat fixed, kProtection remodelled, small changes to kEssentials

kChat is (assumed to be) thread safe
kProtection is now all based around the same Config instance
kEssentials has some minor changes to support Java 5 / Java 6