Message types and formats:
Client Sign On - "I want to play."
Server Acknowledge Sign On (and wait) - "Sure, wait a sec."
Server Game Setup - Tells two people about each other and randomly selects red/blue
					request/wait for board set up.
Client Board Initialization - "Here is the board I've set up."
Server Positive/Negative Acknowledgment - If negative, sends and Error Message
											saying what went wrong with set up;
											requires both positive.
Server Player Start Move - Tells a player to go; Red goes first.
Client Player Move {
	Normal Piece Move - Client wants to move a normal piece from one square to another unoccupied square.
	Attack  - Client wants one piece to attack another piece. {

		Server sends result {
		(a wins if a > b; if a = b both die; all bombs > all pieces not 3;
		3 > bomb; all pieces > flag --> win; all pieces not 10 > spy;
		spy > ten only if spy attacks; if win, see end game)
		Server Reveals Pieces - A brief reveal of the identity of opponent's piece.
		Server Obscures Pieces - Hides the piece that was revealed.
		Server Places Dead Pieces on Sides
	Type 2 Moves (any unobstructed distance in a straight line)
Server Player Move {
	Move Errors {
		No Diagonal/Too Many Spaces
		Water Move
		Out of Bounds
		Repeated Move Error
		Attacking Self
	Server Checks for Victory Conditions
	Positive, Negative, or Win Message after Check
Client End Game {
	Request Stalemate
	Agree Stalemate
	Reject Stalemate
	Forfeit Message
Server End Game { 
	Relay Stalemate Request Status
	Relay Forfeit