Added SocketClient
Updates to SocketClient

SocketClient now runs in its own thread. It also is now a subsystem. It
also throttles reconnect as to not flood log files.