Degree bounds wrapping for distance calculations

* endpoint could return a longitude outside of the 
  valid range -180 -> 180. 
* from_point_and_radius could return invalid boundaries
  when radius was greater than half circumference of earth