Use memoized geocoder method rather than variable

This allows you to pass in a IP DB path without having to
use a generic udf.
Fix typing issues