Merge pull request #84 from blacksmithgu/dev

Merge Dev into Master
Started new gui using FXML. It's nice. This is a very, very rough draft.
To see what it looks like, launch GuiMain.java
Login screen nows accepts input.
Changed ALL the things. It's dirty but it works. MAJOR cleaning to come.
Gui resizing no longer sucks + unloading tabs
Users can now stage aux files and mark which of them are raw.
Removing files works; shift click to remove multiple files.
Users can select languages and problems to submit for.
Interim commit waiting for judging issue to be resolved.
WIP. Do not use.
StatusController shell is done. Just waiting for blobs to be finished so I can add some event listeners.
Switched to a model system for loading / unloading tabs.
Added event listeners. It's a little pointless since I'm about to have to switch to blobs, but whatever.
After fixing a pile of errors which popped up one after another, everything is now working. That means YES, you will now get judging results back.
A large variety of changes, most of which are incomplete.
Beautiful things are happening in the land of Gui. Chat is comming along nicely and some reflection voodoo has alowed the SimpleDialogController to come into existance.
Chat is now "feature complete" for the time being.Chating in multiple windows, including starting new chats and ending chats, works; messages can be sent and recieved; and you get notified on changes within a room.
A lot of code was killed in the making of this commit. The silly CompetitionUpdate system has been thrown out the window in favor of the query system which is currently in progress.
Merge branch 'gui' of https://github.com/blacksmithgu/scl into io2
Removed the ByteDecompose getByteSize() requirement. A util function which dumps the contents to a byte array and returns that size will be provided. It was largely an unneccessary feature with buffering.
Random small changes. Prep work for Judge windows.