[DONE - REVIEW] Signs

Game flavor. Good for marking dangerous areas (mine fields, see issue #7800) or other things.

- [X] Sign construction and furniture def.
    - [x] If sign is bashed or deconstructed, delete any cosmetic signage stored in the map square (signs can't do it themselves, they don't they have writing on them).
- [x] Writing on sign (added a map<string, string> cosmetics collection to submaps. Maybe I should just have signs be like graffiti and be a single member...).
- [x] examine function for signs (reading and writing new text on a sign).
- [x] sign writing shows up in info when cursor is over the sign.
- [x] sign writing shows up when walking over sign.
- [x] signs plus writing defined for mapgen.

Open to suggestions, the above are what I'd like to put in.
How about `!existing_signage.empty()` instead of a C-style cast?