Using 2D arrays instead of arrayLists for improved functionality and more legible code. Also adding a new class 'UndoButton' to go back one turn. Not sure if going with a string state representation of the board to parse or just store a second array...