Extract Generic NominatimProvider

OpenStreetMap uses open source software called Nominatim for their geocoding
service, this allows people to use alternative installations of that software