Inject dependencies
Extract the creation of a board's matrix
Don't reference instance variables directly
Inject algebraic notation lib into Board

And pass the same lib to BuildsMatrices.
Move test to acceptance/ sub-dir
Use methods instead of blocks for the movement rule
Get rid of badly-named method
Board#valid_move? always returns a boolean
Validate algebraic notation in Board, not Piece
Make the matrix attr_reader private