Add Treasure Hunts to MCDungeon as subclass of Dungeon

This is a big one.
As well as adding the treasure_hunt and landmark classes, there are also some utility functions in utils.py and dungeon.py to handle Treasure hunt caches as well as more config options in cfg.py and default.cfg
The pirate theme is added to the name generator, though not normally enabled, with a new optional parameter to specify the theme
The addchest function in dungeon.py is extended to optionally specify a locking string
The worldmap function in dubgeon is extended to optionally highlight an additional chunk (show hunt start loc if in debug mode)
The materialById function added to materials.py to help obtain materials from existing world block data
Major changes in mcdungeon.py to add the new addth command, extend the interactive mode, and add treasure hunts to delete, regenerate, list and genpoi outputs.  This may be hard to merge.

This is not fully completed, but I am submitting the request as it is now in an operational state.  
To do:
 -- add many more landmark types (well, graveyard, forge...)
 -- extend the variation of wording in the clues
 -- properly test the locked chests
 -- improve the choice of treasure hunt steps (can sometimes double back on itself)
 -- landmarks may behave oddly when in thick trees, on ice, over a chasm... many scenari to test
 -- properly test deletion and regeneration of treasure hunts

Feedback welcome