Changed to calculate available buildings and flag sites each call instead of statically caching them. Also updated constraints on where flags can be placed. Updated the existing tests.
Remove the now un-necessary method GameMap::terrainIsUpdated()
Clean up of unnecessary code. Added test cases to verify that spots on lakes are not listed as available for flags or buildings.
Removed the method GameMap::getRoadsThatNeedCouriers() as only the Storage needed it. Updated tests not to call it