Add Playable Client and GUI Launcher

Launcher allows launching of Server, Clients, and spectators.

Server is launched with a GUI and includes dialogs for loading/generating grids.
Client is now playable.  Listens for KeyEvents and can be used to play the game. #69 and #10
If a Grid can not be loaded properly, fail gracefully. #83