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
If constants like this begin with an uppercase letter (e.g., `Zero`), they can be more easily used in a match statement without prefixing them with the name of the enclosing object.  At any rate, upper camel case is the [convention for constants](http://docs.scala-lang.org/style/naming-conventions.html#constants-values-variable-and-methods).