add generic distance funcs
reorganize distance methods and start building support for cython generic function';
working on greographical azimuths
Merge branch 'unify-dist-methods'

backwards incompatible changes with nearest_to, distance_to etal