Made major changes to Network Client. Saved old code in document just in case.
Some commands aren't working, such as disconnect, but is not a new issue.

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
	threads can be stopped using stopThreads(), and no longer kill socket when being closed.

todo: get things running smoothly, get reconnect implemented