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.