Removed the calculation of all legal moves after a move is made. Changed to keep track of Empty spaces on the Board. Changed Board::getRandomMove to select a random move from the empty moves (including pass) and then check if it is legal before returning it.
Added an optimization flag to the makefile