savegame, load item: stash invalid itype id string in item_vars. automatically
restore for "null" items if stashed itype becomes valid again. This makes mystery
nulls easier to diagnose, makes the game more sturdy when mods are enabled/disabled
artifact: stop giving artifacts int-as-string itype->id, which results
in garbled invcache entries and artifacts reloading as 'none'. Also make
id string creation automatic in artifact itype constructors
item legacy save load: apply bad itype preservation and anti-itype-autovivication fix
item::tname: only *indicate* if item_vars["item_note"] exists, instead
of *any* item_var
Merge pull request #5238 from atomicdryad/bad_itype_cluestick

Bad itype on game load: don't autovivicate itypes[], save itype string and restore if it becomes valid. Fix artifacts. Again.