Fix for decreasing circular coords.

While changing to use the existing method for circular wrapping, I found that LinearInterpolator could not handle decreasing-order circular coordinates  (it got the "extend the coord by a point" bit wrong).

This adds tests for that, and fixes the problem.
It also changes the longitude wrapping calculation to use ```iris.analysis.cartography.wrap_lons```.

Note: 'iris.analysis.cartography.wrap_lons' actually wraps to any circular value range, but is somewhat mis-named!