Index the geocoding-related scopes

These were previously scanning through a few tens of thousands of places to find the ones needing geocoding.

The `with_geocoding_errors` scope is also tweaked to use a non-null check, rather than an existence check, so it can use the index too. Strictly speaking, this changes the behaviour of the scope such that it doesn't return places with an explicit null value, but that's really what it should be doing anyway.