Fix Array#slice! when given an end-exclusive range

  array.slice!(i...array.last)

previously would fail, due to overly-aggressive bounds checking. Since
the end of the range exceeded the number of elements in the array, it
would be reduced to a legal array index.

Later code that compensated for end-exclusive arrays wouldn't compensate
for this, however, and so one too few items would be removed.
Test Array#slice! on end-exclusive ranges
Added self to AUTHORS