Move the reveal-map iuse functions into an iuse_actor.

Which is now jsonized, making allowing new and exciting user defined map items.

Json may contain the revelation radius, the final message (it's slightly different for the different map items) and the overmap terrain types that get revealed.

I also added a label to display "roadmap (used)" instead of "roadmap (1)" for maps that have been used by the current character. If you think that it fixes issue #9363 (the charges are not used, but they are not displayed with the item name), please close that one.

The last commit makes the map items into generic items (still appear under the books category). None of the tool specific properties apply to them, they don't use charges at all. This means spawned maps don't have charges (appears as just "roadmap", not "roadmap (1)") - but as the items never lose their charges anyway, their count is meaningless. But feel free to revert / remove that commit.