Enhance starting locations [CR]

This fixes some of the problems mentioned in #8649

- Start location uses the target member instead of the ident of the starting location to search the overmap.
- Start location is searched on all z-levels (try "open_air"), "lmoe_under" is possible as is "lab_core".

The remaining problem is that some starting locations might not be available on the starting overmap, but that is difficult.

I also moved some code into functions and into the `starting_location` class so they can be extended there and because they are not part of the normal game play (but that is up for discussion):
- `starting_location::setup` puts the player on the overmap terrain of the starting location (e.g. a house) and initializes that overmap terrain (e.g. translates the windows to windows with closed curtains).
- `starting_location::place_player` places the player in the reality bubble.

Also added flags to starting locations:
- "ALLOW_OUTSIDE": current code would only place the character on squares that are inside. This flag allows one to start in the woods (e.g. starting location target could be forest).
- "BOARDED" (up for discussion): make the starting house boarded up (windows/doors changed to their boarded counterparts) with the available furniture moved in front of doors/windows. You also get a hammer for free as it has been used to board up the house.

Three new starting locations:
- boarded up house: start in a normal house, but it's boarded up.
- forest: start in a forest area (but there is currently no max/min distance to cities, so it could be near a city, or worse: near a military outpost).
- field: start in field area (otherwise same as starting in forest area).
That would only search on the ground level, but it should explicitly search below ground (e.g. for labs). I've got a fix ready.