Optimize and improve loadgame interface

** DO NOT MERGE YET, WIP **

This is a joint effort between myself and iceiceice. The goal is to improve some of the exception-based interface involved in game loading, as well as some minor bugs that result because of it.

So far, the game falling back to menu when declining to load a game from a different version has been fixed, and cases of load_game_canceled_exception have been removed.