Refactor part of the load game code to remove load_game_canceled_exception

Instead of throwing an exception, the relevant functions will return a false bool
in in-game load dialog, check health and version before exit game

This is fixes a minor bug:
When loading a save from the in-game load dialog, as soon as the
user clicks "ok" to load a savefile, an exception would be thrown
which effectively quits the game, before determining the integrity
and version info of that file.

It's better not to exit a running game if the new game can't be
loaded, so in this commit check these things and abort before
exiting if appropriate.