thread: move ->u0.regs to just ->regs

Its position in ->u0 will be taken by a sender_link field, which occupies the
space better. A better reduction of <struct thread> size would be replacement
of the x86_exregs structure with something that doesn't preserve error codes,
exception reasons, segment selectors, or a kernel %esp.
fix comment, L4_PeriodUs_NP() in <l4/types.h>

Turns out that ZeroTime is represented as e=1,m=0; therefore m << e = 0, and
the explicit test is unnecessary.

Also, TimePoints only reach seconds into the future, not minutes. Oops.
sched: remove default assignment from sys_schedule() result

This lets the compiler issue a warning when the variable isn't assigned in all
contours.
thread: add fastpath for TID conversions to sys_exregs()

Probably worth about 12 cycles and two cachelines of code. Not confirmed.
testbench: add small application benchmark

However, as this is a microkernel project, the application is an operating
system primitive. fork/wait in fact.

From the benchmark, it seems to scale linearly with respect to the number of
children. That's good: this means that there's no idling. It's also bad
because a single fork/wait pair takes 1.3M cycles on Nehalem KVM. Eager
filling of page tables should bring that number down.
test: thread: add test for UTCB values after TID stomp

So far it only tests the global TID field. It should also check that pager,
exh, etc. remain as they were before.
thread: rewrite MyGlobalId TCR in modifying ThreadControl

For thread that've got a valid UTCB address, anyway.