options: optimize and improve assumptions

We have a function use_libmemhack(). So let's introduce
use_libmemdisc() as well and make them inline.
It is a bit unclear which assumptions handle what. So add some
comments. Currently we only handle adaption and preloading/starting
the game. Optimize the checks for that and if we have a preloader
command like "--glc" set, then also run the game.
options: improve and update help text

Our new assumptions need to be added and it would be cleaner to
split the trainer options from the misc preloader command options.
So improve and update the help text.
options: simplify options init

Setting them all to zero first and only setting defaults that
differ afterwards is much better.
options: optimize and improve options parsing

It is inefficient to compare strings if getopt_long() already
parsed them. So use non-printable chars for the pure long options.
We also use the chance to move code for correct bottom-up and to
improve the config path parsing as well.