Update for latest changes with Rust nightly.

Latest update has modified the CloneableVector trait, and as a result, Vec<T> is no longer an implementor of CloneableVector<T>. To fix this, use AsSlice<T> instead and convert slice/vector to slice, and then call Vec::to_vec() on the result.

I don't know whether this is the best approach as I've only used Rust for a week or so. :-)