fix

for some reason the QT on windows doesn't allow mutex
which wasn't locked to be unlocked, even if it's
recursive which is kind of against its design, so
we need to reimplement the recursive mutex using own
solution until this is fixed in windows QT
moved several items to different classes / general cleanup
cleanup
rewrote network irc class so that it works in win