SI-7128  copyToArray(xs, 0, 0) should not fail

Fixed all copyToArray methods to do exactly what the docs say
they do, with the least-suprise behavior of not throwing an
exception if you ask to copy nothing (but would have copied out of
range).

Iterator had an undocumented requirement for the target index to
be in range regardless if anything happened; this has been removed.