Puzzle type is now optional, and String again.

Can now parse even with unknown type, and override type
e.g. on command line.