Fix cpu_switchto, lwp_trampoline and cpu_lwp_fork

All of this was Work In Progress, now it is working
correctly.
CPU is switching from lwp to lwp and runs kernel threads,
saves context and restores context as it should.

"lwps" in GDB allows to show all existing lwps
uart: implement RX part

The kernel is now booting up to root device selection and the user
is allowed to enter text (halt or reboot):

root device: hello
use one of: halt reboot
root device: halt
syncing disks... done
unmounting file systems...
unmounting done

The operating system has halted.
Please press any key to reboot.

rebooting...