lib/n/syscall: make damn sure we use the right errno
lib/n/syscall: make damn sure we use the right errno

Because the code in syscall.n could easily be doing
allocation/deallocation (and call malloc/free, which could set
errno...), so to be sure, we immediately store errno right after the
syscall, in a static __thread variable.

This is not the only approach. We could pass in an (int* eno) to the
syscall wrappers. TBD...

nanocritical/n,nanocritical/n,nanocritical/n,nanocritical/n