Nearest neighbours now identified by comparing ion distances

The set of nearest neighbours for each ion was previously calculated by
finding all ion pairs with a separation less than a cutoff (set in the
input file). This meant that finding polyhedra would fail if the
structure was not close to perfectly close-packed, and also meant
adjusting the cutoff.

The code building the list of nearest neighbours has been adjusted so
that now these are identified by directly comparing *all* distances
between ion pairs, and taking the 13 shortest distances (including the
i–i term).