message: Use exception instead of nullptr return in tileFromStructure
  Every place that calls this function assumes the result is valid, so it
  is safer to throw an exception rather than return a sentinel nullptr
  value that must be checked. Effectively the old code resulted in
  undefined behaviour if nullptr was ever returned.
diff: @@ -388,8 +388,11 @@ void StructureManager::dropAllStructures()
  Tile* StructureManager::tileFromStructure(Structure* structure)
  {
  auto it = mStructureTileTable.find(structure);
  - if (it != mStructureTileTable.end()) { return it->second; }
  - return nullptr;
  + if (it == mStructureTileTable.end())
  + {
  + throw std::runtime_error("Could not find tile for structure");
  + }
  + return it->second;
  }
  