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.