Chat

Fixed up chat a bunch. Implemented all recommendations with the exception of one from the previous pull request. That would be that the time stamp will remain based on the server time. The client doesn't get to decide the order that the server received messages. It only displays them.