Looks through json files, counts things, displays output.
Make itype::name and itype::name_plural protected

Use itype::nname instead.
make item::name protected and use item::tname instead

make item::tname and item::display_name const
Use mtype::nname / monster::name instead of using mtype::name directly.

This is for propper translation of plural forms. Made mtype::monster and mtype::name_plural private to enforce the usage of nname.
remove the item name parameter from use_healing_item

The function already gets a pointer to the item that is used and can determine the name of that item on its own.
Check for the item id of the first aid kit instead of its name for delayed application.
Simple script done.

Handles the two cases that I wanted:

* lists of keys
* counts of distinct values per key

Made it a bit more DRY, docs are mainly via asking user for input.
Merge remote-tracking branches 'dda/pr/7935' and 'dda/pr/7948' into dda-master

* dda/pr/7935:
  Simple script done.
  Looks through json files, counts things, displays output.

* dda/pr/7948:
  remove the item name parameter from use_healing_item
  Use mtype::nname / monster::name instead of using mtype::name directly.
  make item::name protected and use item::tname instead
  Make itype::name and itype::name_plural protected
Flix the plural form pf protein powder. Fixes #5334.
Merge pull request #7949 from kevingranade/pluralize-protein-powder

Flix the plural form pf protein powder. Fixes #5334.
Silence unused parameter warning.
Remove accessor for private attribute itype->name, nothing is using it anyway.
Use nname() instead of accessing itype->name directly in lua code.
Merge remote-tracking branch 'upstream/master' into i_saw_the_sign
and it opened up my eyes

Partial checkin.

Thought about Kevin's suggestion to overload graffiti and proposed cosmetic changes to map tiles as a general collection for things like graffiti. May or may not fly, but thought I'd give it a try. The cosmetics map is saved/loaded from disk if it exists.

Since furniture does not have anything other than binary state on the map, the idea of "signage" is (1) furniture sign existing on a square, (2) cosmetics of SIGNAGE writing on the same string. It feels like a hack, but it works.

TODO:

* Add ability to write on signs (this will steal from graffiti).
* Allow the writing on signs to be added during map making process.
* The construction and removal of a sign will remove any cosmetic signage text from a map square.