[Testing] item->item_vars["lets_you_save"] = "arbritrary stringified data";

...without changing the save format, or adding any code to item::load/save.

This is meant as persistent per-object data.

This uses item tags: on load, any tag starting with ascii 001 (^A) is instead
used to populate std::map<std::string, std::string> item_vars, as so:
"^AvariableName=string" => item.item_vars["variableName"] = "string";
Spaces, line feeds, and tabs are escaped as ^A + hex: ^A0D, ^A20, etc.

As a demonstration, a new menu option for the pocket knife is added: 'Carve on item', which is basically per-item graffiti. (This will be moved to markers later, if useful).

Ideally:
* monsters, traps, vehicles, and other object types should get something like item_tags (and thus something like this)

* This should be able to handle multi-depth maps that aren't composed of just strings, however I've yet to test picojson as it may be overkill, especially if a future addition decides to plaster something on every rock or something.