Raname object {App -> Main}
Remove unused trait CanMoverBy
Add package private CanMoveNowhere PieceKind
Seal PieceKind trait
Unseal Piece class
Chang Knight.canMoveBy
Reorder methods of Move class
Change Piece.toString
Document kinds val on Piece object
Drop Piece object
Imporve style in Main object
Rename local vals in Main
Document Main object
Reorder Board class methods
Make third Board constructor argument the pieces val
Change Board.toString method
Change findSafePlacement method on Board object
Document PieceCache object
Improve style of Queen.canMoveBy
Drop out-of-date documentation for Move object