Figure out the full type heirarchy for puzzle types
The full ipuz spec defines a bunch of puzzle types. With work floating around to add Sudoku support, it makes sense to do a little more forward thinking about what our inheritance structure should look like.