basic socket support in GUIClient

Supports starting game and sending moves. Note that it now can't be run
without also running the server.
piece placement and board updating work (almost)

still some bugs, need to account for a few things
deals with consecutive AI moves

also trim all read input
fixed typo, should now deal with AI not being able to move
alert of illegal moves and game win
undo button works
Merge branch 'master' into GUIclient-sockets
added redo button
Merge branch 'master' into GUIclient-sockets
ai-ai in GUI seems to work
small ai-ai fix
Merge branch 'GUIclient-sockets'