Refactor needs_geocoding

in an attempt to make it more explicit and more performant.