Correctly identify when an OSM id look up has not returned a match.
The Nominatim client we are wrapping returns an empty record rather than null in this case.
Updating asserts to match current data.
Osm type field becomes an enum to prevent Osm id objects been created with invalid values for type.
LatLongs with the same latitude and longitude values should be considered to be equal.
Corrects a mismatch between OSM type names and the single letter type codes used by the nominatim API.
Restores load OSM place by id.