Add spherical geometry functions

These functions are taken from http://www.movable-type.co.uk/scripts/latlong.html .

A few are missing tests, but they Should Work(tm).