Client is now able to join a channel

But the commands are not correctly being proxied since they mostly contain the server's user name.  These messges will need to be handled.  Probably the best way would be to split client join, and server join into two systems.  This way the client join will just sync from the server's status, and allows the possibility of local channels.
Added reverse lookup of clients for better message handling
Removed the errounous ToStrings, and replaced with the correct String for log/fmt string interface