Use overpass for cities list 979

Fixes #979 isses with geonames timing out for large countries.

Uses OSM overpass API query instead of Geonames. This also means
we're no longer using a dodgy bounding box to find cities, but actually
only getting cities within a country boundary.