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.
Fruity! Perhaps the simplest fix would be to rename "direction" to "increasing" and get rid of the "is 1".