Make the airport lookup a bit more clever
The previous method of only looking of unique fragments of the name worked
reasonably well in Europe, but not in the US. In the US there are many
(regional) airports with overlapping name fragments so that even major
international airports could not be looked up properly. We now also
consider non-unique fragments if they result in a unique subset. This
doesn't impact the database size much, but it significantly improves
the detection of US airports.
This also re-generates the database from latest Wikidata data, reducing
the IATA code conflicts from ~250 to 140 due to upstream fixes.