make RandomAccessIterator inherit from Iterator
vec: add mut_slice_{to,from}

Closes #8066