Make shift_ref and mut_shift_ref return Option instead of failing
Make pop_ref and mut_pop_ref return Option instead of failing on empty vectors
Make mut_last return Option instead of failing on empty vector (and add a test for mut_last)
auto merge of #11944 : nathanielherman/rust/vec_opt, r=alexcrichton

Closes #11733