Many changes to many files

Important changes are: UIInvoker class allows safe interaction with
objects using UI controls from any thread, Added IRCServer and cleaned
up other code in the IRC namespace, Fixed broken UnitTests