Asymmetry in periodic structure finding.

I noticed some funny behavior with computing periodic structures (partially noted in #123, which is a bit of a mess), and honed it down to this. `test_periodic_left` is failing for me while `test_periodic_right` passes.

```python
def test_periodic_left():
    x = np.array([[1, 0, 0, 0, 0],
                  [1, 0, 0, 0, 1],
                  [1, 0, 0, 0, 0]])
    d = Dendrogram.compute(x, min_value=0.5,
                           neighbours=periodic_neighbours(1))
    expected = np.array([[0, -1, -1, -1, -1],
                         [0, -1, -1, -1, 0],
                         [0, -1, -1, -1, -1]])
    np.testing.assert_array_equal(d.index_map, expected)
```

```python
E                   AssertionError:
E                   Arrays are not equal
E
E                   (mismatch 13.3333333333%)
E                    x: array([[ 0, -1, -1, -1, -1],
E                          [ 1, -1, -1, -1,  0],
E                          [ 2, -1, -1, -1, -1]], dtype=int32)
E                    y: array([[ 0, -1, -1, -1, -1],
E                          [ 0, -1, -1, -1,  0],
E                          [ 0, -1, -1, -1, -1]])
```

@ChrisBeaumont, do you have any insight as to why this might be the case? Perhaps some uncaught edge-case in `periodic_neighbours`? (also, sorry for the flurry of recent pull requests - I appreciate whatever time you've been able to devote to helping me out.)