Move the responsibility of rearranging squares 

From constructor to the setPiecesWithSquares method
Add new class CanonicalChessPosition