keep immediate neighbors apart

This changes fairSlicer to keep the gap between each
successive cut as large as possible while also keeping
all cuts as far from others as possible.

For example, from 0 to 8, the sixth slice is now at 5,
rather than 3, to be further from the fifth slice at 1.

This change is more noticeable for very large counts,
where neighbors used to be indistinguishably close.