Helper functions available to strategy implementers :
Apply a move from (board and move) returns new board
List of valid move from (board and colour) returns list of moves
Min-Max from (evaluation fn and timeout and a board) return the best move with a score