Representation and Expansion

Have a set of data-definitions for representing boards, tiles, moves, etc. and implemented
expand, that takes a board position and produces all positions reachable from the given position.