remove instance variables from BoardPanel

BoardPanel no longer keeps a width and height variable. Instead sets the
preferred width and height of the panel and uses that to set the gaps
and padding.
update BoardPanel boardChanged Javadoc
update ConnectNPanel boardChanged Javadoc
replace PlayerSelectPanel

Created PlayerSelectControl to replace PlayerSelectPanel. Uses FXML to
define the layout.
replace ConnectNPanel

Create ConnectNControl to replace ConnectNPanel. Uses FXML to define the
layout.

Update BoardPanel to work with ConnectNControl. Update Main to use
ConnectNControl
Merge branch 'master' into network
update ClientPanel to use updated BoardPanel
add ClientListener interface
update Client to notify listeners
replace ClientPanel

Created ClientControl to replace ClientPanel. Uses FXML to define the
layout. Allows the user to specify the server they wish to connect to.
client disconnects gracefully when window closes

Added disconnect method to Client and ClientControl. This method is
called when the main window is closed.
update protocol to handle client disconnecting

Server checks if the player is still connected before adding it to the
player pool.

NetworkGameManager only allows one illegal move since the client should
verify moves. No longer uses a separate thread to run the GameManager.
If the game ends successfully, the NetworkGameManager will send a
REMATCH message to the players. Otherwise, it will send a PING message
to the players and close the connection if there is any problem. If a
player disconnects, the opponent will be notified with a DISCONNECTED
message.

NetworkPlayer checks if the reply from the client is null.

Client handles the new protocol by checking for a PING or DISCONNECTED
message during a game. run method will now continuously loop unless
there is an IOException (instead of only looping when the client
confirms a rematch).
update ClientControl

Updates message when the opponent disconnects.
update Server output messages
update Client and ClientControl

Client getRematch method will wait until confirmRematch or denyRematch
is called. ClientControl has buttons which will be enabled when the
client receives a REMATCH message. Depending on which button is pressed,
confirmRematch or denyRematch will be called.
minor changes to ClientControl

Added fx:id to connect button so that it is properly disabled after
connecting. Move code to disable connect button to the JavaFX
Application Thread.

Update/added display messages.
remove debug code from NetworkGameManager
create ClientManager

Server now delegates clients to a ClientManager which will keep track of
clients and start matches when possible. Client manager contains a run
method which will ping clients who are not in a game at a regular
interval (defined by ConnectNProtocol.PING_INTEDRVAL). If they do not
respond, their connection will be closed.

Client has been updated to handle the updated protocol.
remove debug code from Client
remove debug code from NetworkPlayer