Board movement unit tests

Added unit tests for move method on Board.
Copy tiles in Board constructor

Board constructor needs to copy the initial tile array so that the
board can move tiles without affecting outside data (like other
boards). Added destructor to release tile array memory.