x32: fix hardcoded syscall number in __set_thread_area.s
x32: syscall_arch.h: implement timespec workaround code

we fix up the timespecs in all syscalls that need them, and copy
them back if required. the workaround code should only get compiled
in for functions where the syscall number matches.
x32: syscall_arch: only fix timespecs read by the kernel

we dont care if the kernel overwrites the padding.
as for *nanosleep: the second timespec argument is write-only, so
it needn't be fixed either.
x32: fixup syscall_cp timespecs as well
make all futex syscalls use syscall6