Add lifetime bounds on Items and MutItems.

This also requires a fix for Vec's MoveItems. This resolves issue #16941
Use RawPtr::offset when size_of::<T>() > 0
Add tests for MoveItems
Add fixes for new lifetime bounds
auto merge of #16993 : dschatzberg/rust/items-bounds, r=alexcrichton

This also required a fix for Vec's MoveItems. This resolves issue #16941