Add:
void vmspace_swap(struct proc *, struct vmspace_swap_ctx *, bool);
void vmspace_restore(struct vmspace_swap_ctx *);

Generally useful for changing vmspace context, also useful for simplifying
{copyin,copyout}_proc