core: convert vec::{head,head_opt,tail,tailn,init,last,last_opt} to return references