use overmap terrain with id="" for non-existing terrain

The default overmap terrain would be the one with id == 0 (returned by `overmap::ter` in case of invalid coordinates).
But in mapgen it is compared with a string (""):
```
bool oter_id::operator!=(const char * v) const {
    return oterlist[_val].id.compare(v) != 0;
}
```
And the terrain with _val == 0 is not necessarily the terrain with id == "".
(I had s_restaurant on `oterlist[0].id`)

fixes #5229