PuzzleManagerFixes

Changed the structure of Puzzle Manager from Pushing Into an Array to
Pushing Into a List Structure of Move Types. Also general logic and code
cleanup, getting the algorithm to work for all cases of the puzzle
board.