Move graffiti into submap::cosmetics

The data is stored in the "GRAFFITI" entry of the cosmetics map, getter, setter, test and delete functions have been added to the submap.

Loading legacy is nearly not changed: still calls the set_graffiti functions, but as graffiti starts out empty anyway, there is no need to explicitly set it to an empty string, those calls are removed.

Added map functions: has_graffiti_at (check existence of graffiti), delete_graffiti (removes any graffiti).
Changed map functions: add_graffiti to set_graffiti to be consistent with the signage function.
All graffiti function work with std::string, not with the graffiti class.
set_graffiti returns void, not bool (it used to always return true anyway).
Added bounds checking.

Using the explicit test-functions submap::has_graffiti before getting the graffiti text.

Made map::inbounds const to be used from const methods (e.g, has_graffiti).

Setting a graffiti via iuse always succeeds. Remove the else branch there because it would never be used anyway.
Remove the graffiti class