Better locality and city naming

I noticed that there were no restaurants in Blacksburg in the app. When I dug into it, I found that we were scrapping locality names complete wrong. Once I fixed that, I also found that city names weren't always being scrapped correctly either. I think I fixed those two things, as well as another bug where Mongo was allow NULL ids (maybe that was just me?).

I'd love someone else to verify these changes before the pull is accepted. This will probably require the DB to be dropped a regenerated too.