OCSADV-27: Declination limits and Coordinates Difference

On this PR the limits for declination or changed to allow 90 degrees and CoordinatesDiff is rewritten in Scala using the new model classes

I wish I could do more thorough tests but I couldn't find the source of the algorithm nor some well known table of differences to compare
I won't pretend I understand the algorithm, which as noted was copied from a C version.  We're missing an important use of the coordinate difference thing though which is to get the offset coordinates of one position relative to the other.  Will that be done in a future PR?  Will we be able to remove the old `edu.gemini.util.skycalc.CoordinateDiff` so we don't have two them?