Added and improved error-checking, documentation, and changed a few other things (see full message).

Errors in ChatClient and ReadMessageLoop will now always return null (or false, in the case of ChatClient's listen() method) upon an error. Null handling is all done in Main now. Also added a check for a zero-length argument list.

Added more documentation to various methods.

Also changed two do-while loops back to regular while loops.

Created two different intellij run configurations meant to simulate two clients connecting to each other. Have not determined how to them to run them at the same time, yet.