Rebuilt ChatClient. Saved old code in document just in case.
Some commands aren't working, such as disconnect, but is not a new issue.

ChatClient changes:
	Constructor now only sets variables, it does not touch threads beyond creating an object.
	Threads now must call createStream() before being started. Not perfect, but makes things a little easier. (Constructors are a pain...)
	New execution order for starting the ChatClient through public interface: instantiate object, call object.connect(), then object.start(), finally object.runClient()
	Moved help output to a method that opens a file

todo: get things running smoothly, get reconnect implemented
Merge origin/master