Board class updates

Added some additional methods to the Board class, and also a copy constructor which we can use to copy the board and work with a new hypothetical board.