Improvements for cataclysm-launcher

1. The launcher will work also when it's used from a symlink
2. Will avoid leaving a shell process around while the game is running.
3. Support for directories with blankspaces
4. The name of the symlink (if different from cataclysm-launcher) will determine which binary gets called.
5. Will try to run cataclysm-tiles or cataclysm (the first one that exists, in that order) when there's no valid binary name specified, or the one specified doesn't exist.

The changes 1 and 4, specially, would allow me to make a "git" package for the game in the Archlinux AUR repository without having to make a custom launcher (there's another cataclysm-dda Archlinux package with a custom launcher but it's quite outdated, my package will automatically fetch the latest git repo, install in /usr/share/cataclysm-dda/ and create two symlinks for the launcher into /usr/bin/ with the names "cataclysm" and "cataclysm-tiles").