The concept of "normalizing" a puzzle state is no longer hidden away inside of Puzzle subclass (MegaminxPuzzle and CubePuzzle). PuzzleState's that are rotations of each other are no longer equals(), and have different hash codes. While it can be a little more work to work with this api, I believe it's better because everything is more explicit.
Wide turn suport added for cube puzzles. Created NoInspectionFiveByFiveCubePuzzle and NoInspectionThreeByThreeCubePuzzle (not yet truly implemented) to make use of it.