implements https://coursera.cs.princeton.edu/algs4/assignments/8puzzle/specification.php
0 )
1 )
2 )
3 )
4 )
5 )