Revamped JudgeManager, ProblemSubmission, etc.
Submission and judging works in a primitive state.
The server now binds to the wildcard IP, allowing it to take external
connections.
Fixed ChatRoom so it now properly shows users joining or leaving.
Added the first iteration of EventHandlers and EventRecievers in order
to allow for a great deal of Client/Server diversification.
Completed the other chat actions (though no form of rights checking yet)
(destroy, leave, and kick).
Creation of net.meltdownstudios.scl.network.client for LocalClient and
LocalClientManager classes. Added support for chat room tracking with
LocalClientManager and LocalChatRoom.
Added convenience function .isLocal() to ClientManager.
Added ChatRoomInfoAction to provide the client with pertinent chat room
information upon creating/joining.
Updated ChatRoomChange/ResponseAction to notify the
LocalChatRoom/LocalClientManager of chat room changes (so state is
always correct).
Logged in state now tracked by the LocalClientManager as LocalUser and
in LoginResponseAction.
Registered ChatRoomInfoAction to the client network action manager and
modified.
Clients can use auxilary executables and judges can set System.in
Timeouts are now an acceptable motivation for the murder of Executables
Jacob is picky about private getters.
Added/Updated the EventHandler and EventReceiver Objects for managing
general events.
Added the EventArgs class which manages whether an event has been
canceled or not.
Removed the mis-spelled EventReciever interface.
Created the ServerChatEventHandler, added it to the Server, and added
all of the neccessary hooks in
ChatRoomRequest/Response/InstantMessageAction.
RemoteClientManager now successfully removes a ChatRoom - it was
attempting to remove the actual object as the key, rather than the name.
Added ClientChatEventHandler/Args and all of the appropriate hooks in
the network actions.