BUG: Handling of guess_bounds for circular coords

 (1). **Fixes: `Coord.guess_bounds`, for correctly handling wraparound.**

Found the bug while performing an intersection (raised exception within `Cube._intersect_modulus`):

```
ValueError: coordinate's range greater than coordinate's unit's modulus
```

 (2). **Fixes `Coord.nearest_neighbour_index` for coords with descending bounds.**

---

**Note:**

This PR contains two fixes, as the existing 'integration' tests for `nearest_neighbour_index` draw on the bugged behaviour of the `guess_bounds` fixed in pnt1 above.  These tests have now been removed and new unit tests coded to replace them.
You don't need this workaround any more (see #1507).