First step in implementing new puzzles - Refactored the IDAStar and ParallelIDAStar algorithms so that they no longer depend directly on RubiksCube.