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.
Match nil errors in the  `needs_geocoding` scope.

This makes the scope match the `with_geocoding_errors` scope more
neatly, so nil values for `geocode_error` count as no errors.
Merge pull request #62 from alphagov/index-geocoding-queries

Index the geocoding-related scopes