Board class refactored + others

PawnCoordinates renamed to MatrixCoordinates and used in the Pawn class
which represents the pawns in the game. IEngine added to increase
abstraction