Steal pointers on pairmove.  Closes #232

We need to update pairmove() to steal the VP from its parent,
otherwise when we free the parent, we'll free the VP, even though
it's on a new list.