A5: begin writing test cases
A5: rename tests file
A5: test indexToCoord method in TestEightPuzzle
A5: clarify solve() method instructions
A5: improve test execution for bash users
A5: finish implementing TestPuzzleState
A5: begin writing TestPuzzleSolver
A5: disambiguate movesToSolve() method
A5: TestMovesToSolve
A5: unite redundant solver attribute
A5: improve error feedback string handling
A5: add tests for redundant solvers

that is, make clear what we want to see when the initial and goal states
given to a PuzzleSolver() are the same.