x86/asm, sched/x86: Rewrite the FS and GS context switch code