OCSADV-27: Port of CoordinatesDiff to scala and updates to Declination limits

This is take 2 of the port of coordinates diff. CoordinatesDiff has become an inner class `Coordinate.Difference` and it includes the `Offset` calculation

Several suggestions were incorporated to improve the calculation logic