refactor shortest_distance_to, nearest_on_boundary
refactor shortest_distance_to, nearest_on_boundary

methods are virtually identical, so add a private parent method

fortyninemaps/karta,fortyninemaps/karta,fortyninemaps/karta