Move read_into() functions to JsonIn::read(), and reorder json.h.
Rename read_into() to read() and read_next().
Just use test_number() for both ints and floats.
Add random-access read into reference for JsonArray.
Add map <~> object templates to json.h.
Actually load player invlet_cache.
Fix vehicles segfaulting from parts breaking off
Ignore safemode while driving.
Fix some duplicated entries in TROGLO2 effect descriptions.
Fix TROGLO debuff description – properly this time.
Follow symlinks to find the right path. This will allow symlinking the launcher into /usr/bin and still find the right directory.
Use exec to avoid having a shell process hanging around.
Quote the directory to support blankspaces in their path.
If the launcher is symlinked with a name other than "cataclysm-launcher" it will run the binary of the name specified by that name. Eg: naming the symlink "cataclysm-tiles" will run the tiles version of the game.
If the launcher is called directly or the symlink name does not match a valid binary, will try to use "cataclysm-tiles" or "cataclysm" binaries (in that order)
Some more quoting for safety
Merge PRs #4582, #4583, #4588, #4590, #4596.

Fix #4497, close #4499.

Merge remote-tracking branches 'origin/pr/4582/head',
      'origin/pr/4583/head', 'origin/pr/4588/head',
      'origin/pr/4590/head' and 'origin/pr/4596/head'