This commit updates `cut` to build on rust nightly.
In addition, it adds support for null input and output delimiters,
and fixes a bug in the `cut_characters()` function that would cause
incorrect output when two adjacent fields were specified in the range
list.
Unsafe indexing is replaced by ImmutableEqVector::position_elem() and a
few branches have been eliminated.
The performance is about the same as for unsafe indexing.