Allow us to properly update the preempt period

This new way still doesn't have us interrupting cores that are already
running and forcing them into a new period, but the next time they drop
into vcore context for any reason, their preempt periods will be
updated.