Extract Venue::Geocoder

An obvious target for a service object refactoring. I would have liked to have taken this PR further, removing the active record lifecycle hook completely, and explicitly geocoding in a controller action instead, but I think that's going to be a separate endeavor.
Thanks for opening that issue.