Many fixes to the AI

 - Determine treasure tiles closest to fools landing and prioritize saving them and capturing on them
 - When leaving a flooded tile move to a tile with the a combination of high value and high number of additional possible moves
 - Improved logic for treasure leader determination (This took much more code than I thought it should but there are many possible cases to account for)
 - The AI now determines if a player can give 2 cards to another player with 2 cards so that the player has 4 cards. The given card is saved in a list that is shared with the other agents so that they dont discard the given card (this was happening when the player had 3 of one treasure and 3 of another treasure, they were discarding the newly given treasure card)
 - Heli lift is now done if there exists another tile of high priority OR there exists a tile that is better than the players current tile by some margin
 - Heli lift is now lower priority if flying a player who it is not their current turn or the next player after the current player
 - Player will move to closest treasure when it can capture even if it is multiple moves away
 - Before passenger flying was done if the new tile was of high priority, it is now done if the tile is higher priority than the current tile by atleast 3pts

Other changes:
 - The code now has additional run features like save, load, and rerun