kernel: introduce {fill,set}_savetls() functions

{fill,set}_savetls() save and restore TLS.

TLS is reinstalled by cpu_heavy_restore but not by syscall exit routines.
This means that for the main thread (i.e. the one that takes care of
restoring from checkpoint) set_user_TLS() has to be explicitly called.
kernel: make lwp_fork() non-static
kernel: recreate checkpointed threads

Each checkpointed thread (except the main one) is recreated using lwp_fork()
and then its state is restored by setting regs, fpregs and TLS. Finally, when
all threads are recreated they are then rescheduled.