add haversine distance
add exception passing to C functions
rename dist conversion funcs