libcommon: Cleanup
libcommon: Unified episode completion state handling

The episode is considered complete when a player attempts to leave
a map for which the progression defines no exits. Note that this only
affects switching of the game state (InFine based finale scripts are
triggered using a different mechanism).